Стварэнне рэпазітара Git
Вы можаце атрымаць рэпазітар Git двума асноўнымі падыходамі. Першы - імпарт уснуючага праекта ці каталогу ў Git. Другі - кланіраванне існуючага рэпазітара Git з іншага сервера.
Стварэнне рэпазітара ў існуючым каталогу
Калі вы жадаеце пачаць версійны кантроль існуючага праекта праз Git, вам патрэба перайсці ў каталог праекта і ўвесці
$ git init
У выніку створыцца падкаталог з назвай .git
, у якім змяшчаюцца ўсе неабходныя файлы рэпазітара - аснову рапазітара Git. На гэтым этапе ваш праект яшчэ не знаходзіцца пад версійным кантролем. (Глядзіце Главу 9 для больш поўнай інфармацыі якія дакладна файлы змяшчаюцца ў каталогу .git
, які вы толькі стварылі.
Калі вы хочаце пачаць версійны кантроль над існуючымі файламі (у адрозненні ад пустога каталога), вам варта праіндэксаваць гэтыя файлы і зрабіць першую фіксацыю зменаў(першы каміт). Вы можаце зрабіць гэта з дапамогай некалькі каманда git add
, якія ўказваюць файлы, якія вы хочаце праіндэксаваць, затым выкарыстайце каманду commit:
$ git add *.c
$ git add README
$ git commit -m 'initial project version'
Вы разгледзем што гэтыя каманды робяць праз хвіліну. На гэты момант у вас ёсць рэпазітар Git з праіндэксаванымі файламі і першым камітам.
Кланіраванне існуючага рэпазітара
Калі вы жадаеце атрымаць копію існуючага рэпазітара, на прыклад, праект, у якім вы жадаеце ўдзельнічаць, патрэбная вам каманда - git clone
. Калі вы знаёмы з іншымі СКВ, такімі як Subversion, вы заўважыце, што каманда называецца clone
, а не checkout
. Гэта важнае адрозненне - Git атрымлівае копію амаль усіх данных, якія ёсць на серверы. Кожная версія кожнага файла з гісторыі праекта забіраецца (pulled), калі вы выконваеце git clone
. Фактычна, калі ваш серверны дыск пашкоджаны, вы можаце выкарыстаць любою з копій любога кліента каб узнаціць сервер да стану, у якім ён быў кланіраваны (вы можаце згубіць некаторыя серверныя правілы і падобнае да іх, але ўсе дадзенныя пад версіённым кантролем будуць захаваны - больш у Главе 4).
Кланіраванне рэпазітара адбываецца з дапамогай каманды git clone [url]
. Напрыклад, калі вы жадаеце скланіраваць бібліятэку Ruby Git, вядомую як Grit, вы можаце зрабіць так:
$ git clone git://github.com/schacon/grit.git
У выніку ствараецца каталог з назвай grit
, ініцыялізуя ў ім каталог .git
, пампуе ўсе дадзеныя гэтага рэпазітара і стварае (checks out) працоўную копію апошняй версіі. Калі вы зойдзеце ў каталог grit
, вы ўбачыце там файлы праекта гатовыя да працы ці выкарыстання. Калі вы жадаеце кланіраваць рэпазітар у каталог, які завецца інакш чым grit, вы можаце пазначыць гэта ў якасці наступнага параметра каманднай стракі:
$ git clone git://github.com/schacon/grit.git mygrit
Гэта каманда робіць тоеж, што і папярэдняя, толькі выходны каталог называецца mygrit
.
Git падтрымлівае некалькі транспартных пратаколаў, якімі вы можаце карыстацца. У папярэднім прыкладзе выкарыстоўваецца пратакол git://
, але вы таксама можаце сустрэць http(s)://
ці user@server:/path.git
, якія выкарыстоўваюць транспартны пратакол SSH. У Главе 4 прадстаўлены ўсе магчымыя налады сервера для доступу да вашага рэпазітару Git, вартасці і недахопы кожнага.