Гит

Гит Схов Ремоте Бранцхес

Гит Схов Ремоте Бранцхес
Гит-ова способност да лако ствара гране је сјајна карактеристика. Међутим, када се ради са локалним и удаљеним огранцима, то може постати мало компликовано. Поставимо ситуацију у којој ћемо створити сопствено Гит спремиште које ће се понашати као удаљени репо. Тада ћемо створити и предати гране нашем удаљеном спремишту из пројецт_соурце. После тога ћемо клонирати удаљено спремиште и играти се гранама. Вежба би такође требало да вам пружи идеју о томе како функционишу удаљена спремишта попут ГитХуб-а и БитБуцкет-а. Можете га визуализовати на следећи начин:

Почнимо са Гит спремиштем. Направићемо фасциклу која се зове пројекат.гит и иницијализујте га да постане удаљено спремиште:

$ мкдир пројекат.гит
$ цд пројекат.гит /
$ гит инит - голи
Иницијализовано празно Гит спремиште у / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_ремоте_репоситори /
пројекат.гит /

Сада идите на ново место где можете да направите чисту фасциклу. Направите директоријум пројецт_соурце и иницијализујте га за Гит:

$ мкдир пројецт_соурце
 
$ цд пројецт_соурце
 
$ гит инит
Иницијализовано празно Гит спремиште у / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_бранцхинг_соурце /
пројецт_соурце /.гит /
 
$ тоуцх РеадМе.ткт
 
$ гит адд -А
 
$ гит цоммит -м "Почетно урезивање"
[мастер (роот-цоммит) 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)
У / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_ремоте_репоситори / пројецт.гит
* [нова грана] развој -> развој

Проверимо све гране:

$ гит грана -а
* развој
експериментални
хитна исправка
господару
даљински управљачи / порекло / развој
даљински управљачи / порекло / мастер

Видимо да смо у локалној развојној грани, али постоји и удаљена развојна грана. Када смо прогурали наше промене са развојем гит пусх оригин, створио је развојну грану у даљинским управљачима / извору.

Хајде сада да изађемо из извора_пројекта и пронађемо ново место где можемо добити нову фасциклу. Овде ћемо клонирати удаљено спремиште следећом наредбом:

$ гит цлоне / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_ремоте_репоситори / пројецт.гит
Клонирање у 'пројекат' ..
Готово.

Клонирали смо нову копију названу пројекат из пројекта.гит. Уђите у директоријум пројекта и проверите гране:

$ цд пројекат
 
$ гит грана
* господар

Када Гит направи почетни клон из удаљеног спремишта, добија само главну грану. Ако користимо опцију -а, видећемо:

$ гит грана -а
* господар
даљински управљачи / порекло / ГЛАВА -> порекло / мастер
даљински управљачи / порекло / развој
даљински управљачи / порекло / мастер

Приметите да не постоји локална развојна грана. Такође, никада нисмо пребацивали хитне исправке и експерименталне гране са пројекта_извор на пројекат.гит, па их не видимо. Удаљено спремиште има матичне и развојне гране (даљински управљачи / порекло / ХЕАД -> порекло / мастер није грана, већ само говори на шта ХЕАД показује.

Уведимо развојну грану у своје радно окружење:

$ гит фетцх --алл
Преузимање порекла
 
$ гит цхецкоут развој
Развој подружница постављен за праћење развоја удаљених подружница од порекла.
Пребачен на нову грану 'развој'

Ако користите старију верзију Гита, можда ћете морати да користите:

$ гит цхецкоут развој порекло / развој

Сада ако користимо команду гране, добићемо:

$ гит грана -а
* развој
господару
даљински управљачи / порекло / ГЛАВА -> порекло / мастер
даљински управљачи / порекло / развој
даљински управљачи / порекло / мастер

Можемо извршити промене у развојној грани, извршити промене и затим је гурнути помоћу наредбе за развој гит пусх оригин.

У закључку

Када радите са ГитХуб-ом и БитБуцкет-ом, можда ћете користити ХТТПС или ССХ везу за повезивање са удаљеним спремиштем. Дакле, поставићете своје порекло тим везама. Али принципи удаљене гране су исти као што су овде описани.

Даље истраживање:

Битка за Веснотх 1.13.6 Развој објављен
Битка за Веснотх 1.13.6 објављено прошлог месеца, шесто је развојно издање у издању 1.13.к сериес и доноси низ побољшања, посебно корисничког интерфеј...
Како инсталирати Леагуе Оф Легендс на Убунту 14.04
Ако сте љубитељ Леагуе оф Легендс, ово је прилика да тестирате Леагуе оф Легендс. Имајте на уму да је ЛОЛ подржан на ПлаиОнЛинук ако сте корисник лину...
Инсталирајте најновију ОпенРА Стратеги Гаме на Убунту Линук
ОпенРА је Либре / Фрее Реал Тиме стратешки механизам који ствара ране Вествоод игре попут класичне Цомманд & Цонкуер: Ред Алерт. Дистрибуирани модови ...