Это происходит потому, что ваша локальная копия ветви, которую вы хотите объединить, устарела. Я получил свою ветку, позвонил MyBranch
и хочу слить ее ProjectMaster
.
_>git status
On branch MyBranch-Issue2
Your branch is up-to-date with 'origin/MyBranch-Issue2'.
nothing to commit, working tree clean
_>git merge ProjectMaster
Already up-to-date.
Но я знаю, что есть изменения, которые необходимо объединить!
Вот что, когда я git merge ProjectMaster
печатаю, git просматривает мою локальную копию этой ветви, которая может быть не текущей . Чтобы увидеть, так ли это, я сначала говорю Git проверить и проверить, не устарели ли мои ветки, и извлечь какие-либо изменения, если это так, используя fetch
. Затем я прыгаю в ветку, которую хочу объединить, чтобы посмотреть, что там происходит ...
_>git fetch origin
_>git checkout ProjectMaster
Switched to branch ProjectMaster
**Your branch is behind 'origin/ProjectMaster' by 85 commits, and can be fast-forwarded.**
(use "git pull" to update your local branch)
Ах-ха! Моя локальная копия устарела на 85 коммитов, это все объясняет! Теперь я Pull
внесу изменения, которые мне не хватает, затем перепрыгиваю MyBranch
и пытаюсь снова объединиться.
_>git pull
Updating 669f825..5b49912
Fast-forward
_>git checkout MyBranch-Issue2
Switched to branch MyBranch-Issue2
Your branch is up-to-date with 'origin/MyBranch-Issue2'.
_>git merge ProjectMaster
Auto-merging Runbooks/File1.ps1
CONFLICT (content): Merge conflict in Runbooks/Runbooks/File1.ps1
Automatic merge failed; fix conflicts and then commit the result.
И теперь у меня есть еще одна проблема, чтобы исправить ...