/ / Как Git открива типа на работните потоци: централен или нецентрален - git, git-workflow

Как Git открива типа на работните потоци: централен или нецентрален - git, git-workflow

в Git-довереник можеш да видиш:

проста - в централизирания работен поток, работете като нагоре с добавен безопасност, за да откаже да натисне, ако името на клона на горния бряг е различно от местния.

Когато натискате дистанционното, което е различно от дистанционното обикновено издърпвам от, работа като ток.

Така Git трябва да реши между работа като upstream или current, Но как Git да открие типа на работния процес? Прави Git мисля, че е работен поток centralized ако разбираме, искаме да комуникираме с a bare хранилище?

Отговори:

5 за отговор № 1

Описанието на upstream в същата документация, която ви е свързана, ви дава отговор на въпроса ви.

Този режим има смисъл само ако се придвижвате в същото хранилище, от което обикновено бихте изтеглили (т.е. централен работен поток).

Така че в този контекст е дефиниран "централен работен поток"като "натискате към същия репо получавате най-новите си промени в горната част от обикновено", без значение дали използвате ребаза или сливане. (pull = fetch + сливане или fetch + rebase, в зависимост от конфигурацията и параметрите)

Независимо дали имате "централен работен поток" или не, е втози контекст вероятно е различен за всеки тласък. Ако имате клон за отдалечено проследяване (клон на нагоре по веригата), зададен за местния ви клон, който искате да прокарате, тогава този проследяващ клон е мястото, където обикновено получавате актуализациите си (това е този, който проследявате), така че ако направите ребаза или слеете (или дръпнете, разбира се, тъй като е fetch + сливане или fetch + pull), без да указвате какво да се пренастрои или какво да се слее, след това се използва клонът за дистанционно проследяване.

Сега, ако натискате, Git знаете дали натиснете къмсъщия клон на същото дистанционно устройство, което сте задали като клон за проследяване за вашия местен клон, който предстои да бъде натиснат. Ако това съвпада, имате това, което е определено като "централен работен поток" в този контекст и upstream се използва, ако не е или ако не е установен проследяващ клон (също и случай на "не"), current се използва.

Разликите са:

текущ:

  • Вашият местен клон foo следи отдалечения клон bar/baz:
    • При натискане на всяко дистанционно управление, натиснете към клон foo ако не казвате друго.
  • Вашият местен клон foo следи отдалечения клон bar/foo:
    • При натискане на всяко дистанционно управление, натиснете към клон foo ако не казвате друго.
  • Вашият местен клон foo не проследява никой отдалечен клон:
    • При натискане на всяко дистанционно управление, натиснете към клон foo ако не казвате друго.

срещу течението:

  • Вашият местен клон foo следи отдалечения клон bar/baz:
    • При натискане на дистанционното bar, ти натискаш да се разклониш baz ако не казвате друго.
    • При натискане на някое друго дистанционно управление получавате съобщение за грешка, че трябва да посочите точно къде да натиснете, тъй като дистанционното не е горното
  • Вашият местен клон foo следи отдалечения клон bar/foo:
    • При натискане на дистанционното bar, ти натискаш да се разклониш foo ако не казвате друго.
    • При натискане на някое друго дистанционно управление получавате съобщение за грешка, че трябва да посочите точно къде да натиснете, тъй като дистанционното не е горното
  • Вашият местен клон foo не проследява никой отдалечен клон:
    • При натискане на всяко дистанционно управление, получавате грешка, казвайки, че трябва да настроите своя клон нагоре по веригата

прост:

  • Вашият местен клон foo следи отдалечения клон bar/baz:
    • При натискане на дистанционното bar, получавате грешка, която ви подсказва да натиснете явно, тъй като имената не съвпадат
    • При натискане на друго дистанционно управление, натиснете към клон foo.
  • Вашият местен клон foo следи отдалечения клон bar/foo:
    • При натискане на всяко дистанционно управление, натиснете към клон foo ако не казвате друго.
  • Вашият местен клон foo не проследява никой отдалечен клон:
    • При натискане на всяко дистанционно управление, получавате грешка, казвайки, че трябва да настроите своя клон нагоре по веригата