0
在Git 1.7.5.4中,當我試圖從軟件的一個較老的版本分支合併到主人時,我收到了一些非常奇怪的行爲。Git合併衝突與無關的文件?
$ git checkout master
$ git merge 0.1.2.3
[...]
Auto-merging ProjectA/src/main/groovy/com/example/package/Something.groovy
CONFLICT (content): Merge conflict in ProjectA/src/main/groovy/com/example/package/Something.groovy
[...]
Automatic merge failed; fix conflicts and then commit the result.
望着這個文件,我看到很奇怪的東西:
$ cat ProjectA/src/main/groovy/com/example/package/Something.groovy
<<<<<<< HEAD
[contents of ProjectA/src/main/groovy/com/example/package/Something.groovy]
=======
[contents of ProjectC/src/main/groovy/com/example/something/Different.groovy !!]
>>>>>>> 0.1.2.3
的Something.groovy
文件不會對其他分支存在。主分支上不存在Different.groovy
文件。我預料會得到關於該文件不存在的合併衝突警告。我沒有想到它在不同的項目中與一個完全不相關的文件錯誤地相關。
任何想法可能會導致這樣的事情?我不認爲這是一個哈希碰撞,使用git log --raw
和git show --raw
來查看文件歷史的哈希值。
它們根本不相似。該版本的git是Linux Mint目前的版本,但我會嘗試獲得更新的版本。 – 2012-07-13 02:30:45