【发布时间】:2014-05-06 09:12:06
【问题描述】:
问题:每次我尝试拉入我的子树时都会遇到合并冲突,即使我没有任何更改。
我在做什么:
在subtree-repo
# Make some changes
$ git commit -am 'Changes made'
$ git push origin master
在主仓库
$ git subtree add --prefix public/common {{subtree-repo}} master --squash
# Make some changes
$ git commit -am 'Changes made'
$ git subtree push --prefix public/common {{subtree-repo}} master
在subtree-repo
$ git pull origin master
# Make some changes
$ git commit -am 'Changes made'
$ git push origin master
在主仓库
$ git subtree pull --prefix public/common {{subtree-repo}} master --squash
这就是事情爆发的地方。拉力给了我:
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From {{subtree-repo}}
* branch master -> FETCH_HEAD
a53e6fc..c078461 master -> {{subtree-repo}}/master
Auto-merging public/common/README.md
CONFLICT (content): Merge conflict in public/common/README.md
Automatic merge failed; fix conflicts and then commit the result.
那么为什么我没有进行任何更改时会出现合并冲突?
我想要完成的工作:我有一个 Web 项目和一个正在 Cordova 上构建的移动项目。因为它们都使用 JavaScript,所以我想在两者之间共享几个组件和模型。我想将这些常见的东西放在他们两个之间的共享文件夹中,这样我就不必复制粘贴了。我研究了子模块和子树的优缺点并决定使用子树。目前这是一个单人项目,但我想以正确的方式做事,以便扩大规模。
注意:如果您有更好的方法来完成我正在尝试做的事情的建议,那就太棒了:-)
【问题讨论】:
标签: git merge git-subtree