Git merge срещу

Опитвам се да направя света по-добър ...

Git merge vs. пребаза

  • git pull --rebase вместо git pull
  • git rebase -i @ преди git push
  • (в "функция") git merge master, за да направи клонът на характеристиките съвместим с последните промени в master
  • (в "master") git merge -no-ff функция за освобождаване на функция

Избягвайте обаче обединяването, ако клонът „функция“ съдържа само 1 фиксиране: (в „master“) git cherry-pick функция .

Разширено:

Избягвайте ангажименти за сливане с git pull

Когато искате да изпратите промените си в клон, но някой друг вече е натиснал нещо преди вас, първо трябва да получите тези промени. И обикновено git създава обединяване на сливане в тази ситуация.

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

Винаги извличайте промените чрез git pull --rebase. Git може да бъде конфигуриран да се държи по този начин по подразбиране:

git config --global --bool pull.rebase true

Използвайте интерактивна база данни на локални фиксирания, преди да натиснете

Преди всяко натискане направете: git rebase -i @

Буквата "u" означава "нагоре" (добавена в git v1.7.0) и ще се раздели на последния фиксиране на този клон на сървъра. Просто казано, тази команда само пренаписва локалните ангажименти, които сте на път да натиснете. Тъй като git v1.7.6, @ е по подразбиране и може да бъде пропуснат.

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