Git --local-branching-on-the-cheap
Chapters ▾

2.1 Асновы Git - Стварэнне рэпазітара Git

Стварэнне рэпазітара 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, вартасці і недахопы кожнага.