2015-02-18 3 views
2

Если у меня есть филиал Git, что я хочу, чтобы объединить в мой мастер, и я хочу, чтобы история логарифм этой отрасли будут объединены в историю журнала мастера, я должен делать:Как объединить журналы Git вместе?

git checkout master 
git merge <branch> --no-ff 

или:

git checkout master 
git merge <branch> --ff 

или что-то еще полностью? Документация Git не очень ясна (по крайней мере, для меня).

Спасибо.

+0

Вы используете GIT хаб? (Например, github/bitbucket/stash). Если это так, я бы порекомендовал делать слияния с мастером с помощью запроса на перенос вместо локального слияния. – JamoBox

+0

Я использую Bitbucket, так как это бесплатно. – William

ответ

1

Оба типа объединений будут поддерживать историю. Разница в том, что --no-ff всегда будет создавать явное слияние, поэтому в журналах будет запись, а графические инструменты, такие как gitk, покажут, что произошла ветка и слияние. --ff сделает ускоренное слияние, поэтому не будет сделано явно сделанное слияние (если ветка не является прямым потомком главной ветви).

+1

@Robert: вы должны увидеть все коммиты в журнале. Если бы это было быстрое слияние, то не было бы фиксации для самого действия слияния. – mipadi

0

Журнал git будет сохраняться с помощью любой из этих команд, так как при слиянии вы по существу сжимаете все свои фиксации в другую ветку. Быстрая переадресация обычно используется, когда ветка, с которой вы объединяетесь, не имела никаких коммитов с тех пор, как вы внесли свои изменения, поэтому вместо добавленного добавления слияния изменения просто добавляются в вашу ветку, «быстрая пересылка» этой ветви до последней совершите совершение.

Вот хорошее объяснение, если документы не помогли http://ariya.ofilabs.com/2013/09/fast-forward-git-merge.html

Смежные вопросы