Dzieje się tak, ponieważ lokalna kopia oddziału, który chcesz scalić, jest nieaktualna. Mam swój oddział, nazywany MyBranch
i chcę go połączyć 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.
Ale wiem , że są zmiany, które należy połączyć!
Oto, kiedy piszę git merge ProjectMaster
, git patrzy na moją lokalną kopię tego oddziału, która może nie być aktualna . Aby zobaczyć, czy tak jest, najpierw mówię Gitowi, aby sprawdził, czy moje oddziały są nieaktualne, i jeśli to możliwe, przyjął wszelkie zmiany, używając fetch
. Następnie wskakuję do gałęzi, którą chcę scalić, aby zobaczyć, co się tam dzieje ...
_>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! Moja lokalna kopia jest nieaktualna przez 85 zatwierdzeń, co wyjaśnia wszystko! Teraz Pull
zapisuję zmiany, których mi brakuje, a następnie przeskakuję do MyBranch
i ponownie próbuję scalić.
_>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.
A teraz mam inny problem do rozwiązania ...