Isso acontece porque sua cópia local da ramificação que você deseja mesclar está desatualizada. Chamei meu ramo MyBranch
e quero fundi-lo 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.
Mas eu sei que existem mudanças que precisam ser mescladas!
Aqui está a coisa, quando eu digito git merge ProjectMaster
, o git examina minha cópia local desse ramo, que pode não estar atual . Para ver se é esse o caso, primeiro digo ao Git para verificar se meus ramos estão desatualizados e buscar quaisquer alterações, se houver, usando fetch
. Então eu pulo para o ramo que quero mesclar para ver o que está acontecendo lá ...
_>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)
Ah-ha! Minha cópia local está obsoleta por 85 commits, o que explica tudo! Agora, Pull
descrevo as alterações que estão faltando, depois pulo para MyBranch
e tente a mesclagem novamente.
_>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.
E agora tenho outro problema para corrigir ...