Почнимо са Гит спремиштем. Направићемо фасциклу која се зове пројекат.гит и иницијализујте га да постане удаљено спремиште:
$ мкдир пројекат.гит$ цд пројекат.гит /
$ гит инит - голи
Иницијализовано празно Гит спремиште у / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_ремоте_репоситори /
пројекат.гит /
Сада идите на ново место где можете да направите чисту фасциклу. Направите директоријум пројецт_соурце и иницијализујте га за Гит:
$ мкдир пројецт_соурце$ цд пројецт_соурце
$ гит инит
Иницијализовано празно Гит спремиште у / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_бранцхинг_соурце /
пројецт_соурце /.гит /
$ тоуцх РеадМе.ткт
$ гит адд -А
$ гит цоммит -м "Почетно урезивање"
[мастер (роот-цоммит) 176134ф] Почетно урезивање
Промењена 1 датотека, 0 уметања (+), 0 брисања (-)
креирајте режим 100644 РеадМе.ткт
Пројецт_сетуп је Гит директоријум са РеадМе-ом.ткт датотеку. Међутим, није повезан са нашим удаљеним спремиштем. Поставимо пројекат.гит да буде удаљено спремиште за пројецт_соурце. То можемо постићи следећом командом:
$ гит ремоте адд оригин / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_ремоте_репоситори / пројецт.гит$ гит пусх мастер мастер
Бројање предмета: 3, готово.
Записивање објеката: 100% (3/3), 213 бајтова | 0 бајтова / с, готово.
Укупно 3 (делта 0), поново коришћена 0 (делта 0)
У / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_ремоте_репоситори / пројецт.гит
* [нова грана] мастер -> мастер
Помоћу наредбе гит ремоте адд оригин створили смо везу између пројекта.гит и пројецт_соурце. Помоћу наредбе гит пусх оригин мастер, гурнули смо нашу главну грану у удаљено спремиште.
Проверимо наше гране (још увек у фасцикли пројецт_соурце):
$ гит грана* господар
$ гит грана -р
порекло / господар
$ гит грана -а
* господар
даљински управљачи / порекло / мастер
Прва команда приказује само локалну грану. Опција -р приказује удаљену грану. А опција -а приказује и локалну и даљинску.
Створимо неколико грана у нашем радном директоријуму:
$ гит развој гране$ гит исправка за грану
$ гит грана експериментална
$ гит грана -а
развој
експериментални
хитна исправка
* господар
даљински управљачи / порекло / мастер
Креирали смо огранке који се називају развојни, хитни исправци и експериментални. Они се појављују на нашем локалном списку подружница. Али у даљинским управљачима / извору постоји само главна грана, јер је то једина коју смо гурнули. Главни (*) мастер значи да смо још увек у локалној мастер грани. Идемо у развојну грану, извршимо промене и гурнемо те промене у удаљено спремиште.
$ гит цхецкоут развојПребачено на „развој“ гране
$ ецхо абц> РеадМе.ткт
$ гит адд -А
$ гит цоммит -м "Модификована грана развоја"
[развој дд9933е] Модификована грана развоја
1 датотека промењена, 1 уметање (+)
$ гит пусх развој порекла
Бројање предмета: 3, готово.
Писање објеката: 100% (3/3), 257 бајтова | 0 бајтова / с, готово.
Укупно 3 (делта 0), поново коришћена 0 (делта 0)
У / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_ремоте_репоситори / пројецт.гит
* [нова грана] развој -> развој
Проверимо све гране:
$ гит грана -а* развој
експериментални
хитна исправка
господару
даљински управљачи / порекло / развој
даљински управљачи / порекло / мастер
Видимо да смо у локалној развојној грани, али постоји и удаљена развојна грана. Када смо прогурали наше промене са развојем гит пусх оригин, створио је развојну грану у даљинским управљачима / извору.
Хајде сада да изађемо из извора_пројекта и пронађемо ново место где можемо добити нову фасциклу. Овде ћемо клонирати удаљено спремиште следећом наредбом:
$ гит цлоне / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_ремоте_репоситори / пројецт.гитКлонирање у 'пројекат' ..
Готово.
Клонирали смо нову копију названу пројекат из пројекта.гит. Уђите у директоријум пројекта и проверите гране:
$ цд пројекат$ гит грана
* господар
Када Гит направи почетни клон из удаљеног спремишта, добија само главну грану. Ако користимо опцију -а, видећемо:
$ гит грана -а* господар
даљински управљачи / порекло / ГЛАВА -> порекло / мастер
даљински управљачи / порекло / развој
даљински управљачи / порекло / мастер
Приметите да не постоји локална развојна грана. Такође, никада нисмо пребацивали хитне исправке и експерименталне гране са пројекта_извор на пројекат.гит, па их не видимо. Удаљено спремиште има матичне и развојне гране (даљински управљачи / порекло / ХЕАД -> порекло / мастер није грана, већ само говори на шта ХЕАД показује.
Уведимо развојну грану у своје радно окружење:
$ гит фетцх --аллПреузимање порекла
$ гит цхецкоут развој
Развој подружница постављен за праћење развоја удаљених подружница од порекла.
Пребачен на нову грану 'развој'
Ако користите старију верзију Гита, можда ћете морати да користите:
$ гит цхецкоут развој порекло / развојСада ако користимо команду гране, добићемо:
$ гит грана -а* развој
господару
даљински управљачи / порекло / ГЛАВА -> порекло / мастер
даљински управљачи / порекло / развој
даљински управљачи / порекло / мастер
Можемо извршити промене у развојној грани, извршити промене и затим је гурнути помоћу наредбе за развој гит пусх оригин.
У закључку
Када радите са ГитХуб-ом и БитБуцкет-ом, можда ћете користити ХТТПС или ССХ везу за повезивање са удаљеним спремиштем. Дакле, поставићете своје порекло тим везама. Али принципи удаљене гране су исти као што су овде описани.
Даље истраживање:
- хттпс: // гит-сцм.цом / доцс / гит-грана
- хттпс: // гит-сцм.цом / боок / ен / в2 / Гит-он-тхе-Сервер-Сеттинг-Уп-тхе-Сервер
- хттпс: // помоћ.гитхуб.цом / артицлес / адд-ан-екистинг-пројецт-то-гитхуб-усинг-тхе-цомманд-лине /
- хттпс: // помоћ.гитхуб.цом / артицлес / пусх-то-а-ремоте /