Реших да видя какво е GitHub. Досега не ми се беше налагало да работя с него, но покрай един бъдещ проект ще се наложи доста хора тук да го използваме и реших да напиша едно кратко ръководство. Имайте предвид, че не съм университетски преподавател и обясняването не ми е най-голямата сила.
1. Какво е github?
Първия въпрос, който един начинаещ си задава е следния. Какво е това github и защо толкова много хора говорят за него?
В основата на github стой version cotrol system(VCS) наречена GIT. Ако сте използвали Subversion, Mercurial или Bazaar, значи имате представа какво представлява version control система. Ако сте абсолютно начинаещ ще се опитам в точка 2 да обясня какво представлява Version control system. Мислете за github като hosting услуга(базирана на GIT), където може да качвате вашите файлове и проекти и това да позволява на широк кръг хора да работят по тях и да ги разширяват. Това е наистина най-простото обяснение. Има и някой допълнителни неща като bug tracking и други, но поне засега няма да говорим за тях. Идеята тук е да се запознаем с основните идеи и термини.
2. Какво представлява Version control system?
Идеята на VCS(Version control system) е да улесни работата ни като програмисти. Представете си, че работите по голям проект заедно с още 100 програмиста. Всеки работи по някаква отделна функционалност на продукта. Някой от Вас прави някаква промяна по даден файл и кода се чупи. Да се намери някаква грешка в 4000 реда код е наистина много трудно. Именно тук е силата на VCS. Подобна система ни позволява във всеки един момент да видим кой какъв код е написал, каква промяна по него е направена, да се види написания код преди направената промяна. Може да използвате VCS дори ако разработвате сам някакъв проект. Ако не съм ви объркал тотално, продължавам нататък с обяснението какво е GIT?
3. Какво представлява Git?
Git e version control system-a писана на C . Eдна от многото подобни системи(Subversion, Mercurial, Bazaar и други).Ако сте чели предишната точка там обясних, че подобни системи главно се използват за работа по проекти от повече от един програмист. GIT ни позволява да разполагаме с история за даден сорс код(source code). Source code-a представлява колекция от всички файлове на даден проект. Всеки човек, който работи по този проект разполага с отделно копие на сорс кода. Може да прави промени по локалното си копие, да тества и след това да го качва в хранилище(repository). Git може да бъде използвана в команден ред. Също така има и графични клиенти(под формата на плъгини)
-EGit- за феновете на Eclipse
- NBGit- за феновете на Netbeans
Също така може да се дръпне и графичния клиент предлаган на сайта на github.
Сигурно може още много да се говори по темата. Ако някой има какво да добави нека го направи.