Почему изменения git merge не изменяются, когда две ветви разные, но в новой ветке нет новых коммитов? - PullRequest
6 голосов
/ 19 марта 2012

Например,

У меня в мастерской ветке есть вещи. В другой ветке под названием other_branch есть вещи + more_stuff. Каждая ветка не имеет ничего для фиксации.

Если я извлекаю master, то пытаюсь объединить other_branch, git говорит: «Уже обновлено». и ничего не случилось. почему в этом случае more_stuff не будет объединен с master? Это то, как был разработан Git?

ПРИМЕЧАНИЕ: other_branch был создан из более старого коммита master.

Ответы [ 2 ]

6 голосов
/ 19 марта 2012

Это очень просто. Если git говорит: «Уже в актуальном состоянии», это означает, что ветви не разошлись. Две ветви разошлись, если хотя бы одна из ветвей содержит коммит, которого нет в другой ветви.

Я не уверен, что ты имеешь в виду, что в нем есть вещи + more_stuff. Если вы добавили новые файлы в other_branch (или изменили существующие файлы) и использовали "git add" и "git commit", история other_branch будет отличаться от основной ветви. Так как git говорит, что нет изменений для слияния, история в этой ветке не изменилась, то есть вы ничего не зафиксировали.

2 голосов
/ 19 марта 2012

Это происходит только тогда, когда ветвь, которую вы пытаетесь объединить, уже содержится в текущей ветке.

Итак, упомянутый вами more_stuff уже находится в главной ветке.

Вы можете использовать gitk для проверки визуального дерева ваших ветвей.

...