如何让Git Merge不自动应用无冲突的代码变更?
让Git拉取分支时不自动合并无冲突代码的方法
你可以通过以下两种方式实现,避免Git自动处理无冲突的代码变更,完全手动控制所有文件的合并内容:
方法一:先拉取再重置文件,手动合并
- 执行带
--no-commit参数的拉取命令,让Git执行合并但不自动提交:git pull --no-ff --no-commit [remote] master - 此时Git已经自动合并了无冲突的部分,将目标文件重置为当前分支(upgradeRN)的版本:
git reset HEAD foo.txt git checkout -- foo.txt - 手动对比master分支的文件内容并修改:
- 查看master分支的foo.txt内容:
git show [remote]/master:foo.txt - 打开foo.txt手动调整内容,完成后提交即可。
- 查看master分支的foo.txt内容:
方法二:跳过自动合并,手动对比修改
- 先拉取远程master分支的最新代码,不进行自动合并:
git fetch [remote] master - 查看两个分支foo.txt的差异:
git diff upgradeRN [remote]/master -- foo.txt - 直接打开upgradeRN分支的foo.txt,根据差异结果手动修改内容,完成后提交变更。
这样就能完全掌控所有代码变更,避免Git自动应用无冲突的修改,所有内容都由你手动决定是否添加或修改。
内容的提问来源于stack exchange,提问作者flix
相关产品推荐
相关产品推荐

