2013-09-03 2 views
1

Я прошел через пару блогов, чтобы понять фиксацию слияния, но не совсем ясно, что это такое и какова наилучшая практика, чтобы избежать этого. И диаграмма дерева git log добавила еще больше путаницы к моему пониманию коммитов. Помогите?git: что такое слияние в git?

ответ

1

Согласование слияния подобно тому, как другое совершение, состояние вашего хранилища в данный момент времени плюс история, из которой она возникла.

Единственное, что связано с фиксацией слияния, состоит в том, что у него есть как минимум два предшественника, поэтому простой ванильный diff не имеет смысла, вы можете сравнить только слияние с одним из предшественников, что дает изменения из другой родитель (ы)

Чтобы избежать компромиссов, вы можете rebase свои изменения до, отталкивая их в удаленный репозиторий.

+0

ОК, поэтому на схеме [ссылка] http://stackoverflow.com/q/5860944/2663585, A B и C являются локальными коммитами, а A было последним локальным изменением, а затем выполнена git fetch. Я прав? – Iowa

+0

и при условии, что я работаю над публичным репозиторием, безопасно ли делать git pull --rebase – Iowa

+0

Нет, C - последнее локальное коммит. В противном случае ваше понимание правильное (читайте: то же, что и мое) –