Слияние веток с Git - PullRequest
       13

Слияние веток с Git

2 голосов
/ 10 февраля 2009

Я использую Git для Windows, чтобы управлять локальным проектом. У меня есть две ветви, «master» и «change_specific». Я добавил несколько дополнительных файлов в 'change_specific'. Эти файлы не отображаются, когда я переключаюсь на «мастер». Когда я звоню

git merge -m "don't need old branch" master change_specific

git говорит мне "Уже в курсе. Да!" Все же ветви, кажется, имеют различные файлы. Я хотел бы удалить 'change_specific' и покончить с этим, но я боюсь, что это уничтожит мои добавленные файлы - плохо Кажется, я что-то упустил, когда сканировал документацию git. Что происходит и что мне делать?

1 Ответ

10 голосов
/ 10 февраля 2009
# git checkout master
# git merge change_specific

Это должно сделать это. git merge <branch1> <branch2> фактически пытается объединить три ветви, две, которые вы дали в командной строке, и текущую ветку. Если два из них на самом деле одинаковы, это может объяснить сообщение «Уже обновлено».

Если вы еще не сообщили о своих изменениях миру, я бы предпочел выполнить ребаз:

# git checkout change_specific
# git rebase master
# git checkout master
# git merge change_specific

Это будет применять изменения из ветви «change _ specific» к текущему мастеру, переписывая историю линейно. После этого вы можете безопасно удалить ветку «change_specific» с помощью git branch -d change_specific.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...