Git омборини яратиш учун иккита асосий ёндашув мавжуд. Биринчи ёндашув – мавжуд кталог ёки лойиҳани импорт қилиш. Иккинчиси – серверда мавжуд бўлган омборни клонлаштириш.
Агар сиз Git ни мавжд бўлган лойиҳа учун ишлатмоқчи бўлсангиз у ҳолда сизга лойиҳа каталогига ўтиб ва командалар сатрида қуйидагини териш зарур
$ git init
Ушбу команда жорий каталогда ўз ичига Git омборига асосланган – омбор учун керак бўладиган янги .git
номли қисм каталогини яратади.
Бу босқичда сизнинг лойиҳангиз ҳали – ҳамон талқинлар бошқарувида эмас.
([_git_internals] бўлимда хозиргина яратилган .git
каталог ичидаги файллар ҳақида батафсил ёзилган.)
Агар сиз талқинлар бошқарувига мавжуд бўлган файлни қўшмоқчи бўлсангиз сиз ушбу файларни индекслаб ва биринчи навбатда ўзгаришларни фиксирлашингизга тўғри келади.
Буни амалга ошириш учун git add
да индексланадиган файлларини кўрсатиб, сўнгра юборишни (commit
) кўрсатувчи бир қанча командалардан фойдаланишингиз мумкин:
$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'
Биз ушбу командалар нима иш қилаётганини сал кейинроқ таҳлил этамиз. Айни вақтдаги босқичда файллар қўшилган ва бошланғич коммитли сизнинг Git омборингиз мавжуд.
Агар сиз мавжуд бўлган омборни нусхасини олишни хоҳласангиз, масалан лойиҳани олишни хоҳласангиз, у ҳолда сизга git clone керак бўлади. Агар сиз Subversion каби бошқа талқинларни бошқариш тизими билан таниш бўлсангиз шунга эътибор берингки команда checkout эмас балки clone. Бу муҳим фарқ – Git амалда сервердаги барча маълумотлар нусхасини олади. git clone – бажарилганда ҳар бир файлнинг ҳар бир талқини сервердаги лойиҳа тарихидан олинади(pulled). Агар сервер диски ишдан чиқса сиз клиентлардаги ихтиёрий клонлардан фойдаланиб, серверни клонлаштириш вақтидаги ҳолатига қайтаришингиз мумкин бўлади (сиз сервернинг ушлаб олгичларининг қисмларини (server-side hooks) йўқотишингиз мумкин, лекин ҳаммасини эмас. Талқинлар бошқарувига қўшилганлари сақланиб қолади. Бу ҳақда [_git_on_the_server] бўлимга қаранг.).
Омборни клонлаштириш git clone [url]
командаси орқали амалга оширилади.
Масалан, агар сиз libgit2 кутубхонасини клонлаштирмоқчи бўлсангиз уни қуйидагича кўринишда бажаришингиз мумкин:
$ git clone https://github.com/libgit2/libgit2
Ушбу буйруқ `libgit2'' номли каталогни яратади, унинг ичида `.git
каталогини яратиб унда яратиш ва қийматлаш ишларини бажаради (инициализациялайди), ушбу омбор учун барча маълумотларни юклаб олади ва омбор учун охирги талқинни яратади (checks out).
Агар сиз янги libgit2
каталогига кирсангиз сиз унда ишлатиш ва қўллаш учун ярайдиган лойиҳа файлларини кўрасиз.
Агар сиз омборни libgit2
дан бошқа каталогга клонлаштиришни хоҳласангиз буни командалар қаторида қуйидагича кўрсатиш мумкин:
$ git clone https://github.com/libgit2/libgit2 mylibgit
Ушбу команда бундан олдинги команда билан бир хил иш бажаради ва улар орасидаги фарқ шуки, бунда натижавий каталог номи - mylibgit
.
Git сиз ишлатишингиз мумкин бўлган бир қанча транспорт протоколларидан фойдалана олади.
Аввалги мисолда https://`протоколи ишлатилди. Сиз шунингдек SSH узатиш протоколидан фойдаланувчи `git://
ёки user@server:path/to/repo.git
ларни ҳам учратишингиз мумкин.
[_git_on_the_server] бўлимда сизнинг омборингизга ҳуқуқ яратиш учун серверни созлашнинг ҳамма вариантлари билан биргаликда уларнинг камчиликлари ҳақида маълумотлар келтирилган.