混帐:合并到主,同时自动选择覆盖与分支主文件(Git: Merge to master while

2019-06-18 13:55发布

我使用Git来跟踪我的文档乳胶源。 我想保持主分支充满了适用于最终用户发布的文件,所以当有人需要的东西,我可以切换到主分支,编译和分发文件。

我作出新的分支时手动需要进行重大更新。 但是,当手动获得批准,它需要得到合并回主。 当从分支合并为大师 ,我想通过一些命令Git的说,“忘了合并,只是使用的文件从分支覆盖在文件。” 有没有办法做到这一点? 具体来说,我想避免开启了合并工具每次。 提前致谢。

Answer 1:

无视master ,当你有branch签出,则:

git merge master --strategy=ours

http://schacon.github.com/git/git-merge.html

作为“电脑语言学家”评论这里,这将“忽略一切从‘主’,即使它有改变新的,独立的文件”。 所以,如果你不是OP和希望有一个更安全的合并是不一样的OP说“忘了合并”,然后使用从“计算机语言学家”这个优秀的安全命令,并加上自己的评论了,所以他得到creds。

git merge -s recursive -X theirs branch


Answer 2:

在Git的1.7.1版本,你可以使用“-Xtheirs”分支本身合并。

例如,如果你在你的主分支开始,开始在主

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

我觉得这第二种方法可能是更好的发挥,但我还没有机会与它玩耍够了吗。



Answer 3:

我相信你可以用“我们”合并策略做到这一点:

git checkout branch
git merge -s ours master

但是,这并不做的正是你想要的东西:它覆盖了当前分支的内容branch和你想要的是得到相同的内容到master 。 你真正想要的是一个合并的战略theirs ,并为我点你在这个类似的问题换一种方式来做到这一点。 在实践中它归结为是重新master在指向branch



文章来源: Git: Merge to master while automatically choosing to overwrite master files with branch
标签: git merge branch