我正在使用Git来跟踪我的文档乳胶来源.我想让master分支中包含适合最终用户发布的文档,所以当有人需要时,我可以切换到master分支,编译并分发文档.
当手册需要重大更新时,我会创建新分支.但是,当手册获得批准后,它需要合并回主人手中.当从分支合并到master时,我想将一些命令传递给Git说:"忘记合并,只需使用分支中的文件覆盖master中的文件." 有没有办法做到这一点?具体来说,我想避免每次都打开合并工具.提前致谢.
Rob*_*ert 58
无视master
,当你branch
签出时:
git merge master --strategy=ours
Run Code Online (Sandbox Code Playgroud)
http://schacon.github.com/git/git-merge.html
正如"计算机语言学家"在这里评论的那样,即使它改变了新的独立文件,它也会"忽略'主人'中的所有内容".因此,如果你不是OP,并希望更安全的合并,而不是OP说"忘记合并",那么请使用"计算机语言学家"中的这个出色的安全命令,再加上他的评论,这样他就会获得信誉.
git merge -s recursive -X theirs branch
Run Code Online (Sandbox Code Playgroud)
Ala*_*ith 15
在Git的1.7.1版本中,您可以使用"-Xtheirs"在分支本身中进行合并.
例如,如果从主分支开始,从master开始
git checkout -b editBranch
-- edit your files --
git add .
git commit -m "Updated the files"
git checkout master
git merge -Xtheirs editBranch
基于这篇文章,我看到的另一种方法就是对editBranch进行硬重置.例如:
git checkout -b editBranch
-- edit your files --
git add .
git commit -m "Updated the files"
git checkout master
git reset --hard editBranch
我认为第二种方式可能是更好的发挥,但我还没有机会充分利用它.