git-merge - GIT : do not want ANY changes to be auto-merged, 即使是最明显的

标签 git-merge

我是一个新的 GIT 用户,他一直在试验执行 PULL 时会发生什么,并且在执行 PULL 时发现文件的两个版本之间存在差异。

从我所看到的,如果两个更改不相互冲突(例如一个在文件顶部,一个在文件底部),差异将自动解决,无需对我的任何干预部分。 OTOH,例如,如果它们在同一行代码中,我会被要求通过 KDIFF3 编辑器手动解析它们。

我们在我公司的工作方式,我们不希望 GIT/KDIFF3 自动进行任何合并。换句话说,我想要在 GIT 无法解决所有更改时出现的相同对话框,即使是最明显的更改。

是否有设置、选项或其他东西可以让我在相同的控制流中做到这一点? (PS-我已经尝试过您只进行提取的选项,但我无法弄清楚发生了什么,无论如何宁愿避免它。)

非常感谢。
-史蒂夫

最佳答案

使用 git fetch,它不会做任何合并。查看此链接以了解 pull 和 fetch 之间的区别。 http://blog.mikepearce.net/2010/05/18/the-difference-between-git-pull-git-fetch-and-git-clone-and-git-rebase/

编辑:只需阅读您帖子的最后一部分。我不知道有什么方法可以在没有合并的情况下进行拉动,因为这就是它的设计目的。如果您想避免合并,我相信 fetch 是您唯一的选择。

EDIT2:我没有亲自尝试过,但以下博客文章的方法似乎符合您的要求:http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/

对于您的情况,我相信您会做的是在执行提取之后,然后您将在要合并到的分支和您提取的分支之间执行差异。然后,您将检查已更改的每个单独文件,并根据您的喜好提交它们。如果这个过程很乏味,我深表歉意,但我不知道有什么方法可以让对话框在合并过程中发生任何更改时弹出。

关于git-merge - GIT : do not want ANY changes to be auto-merged, 即使是最明显的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592530/

相关文章:

git - 在 git merge 之后在 git log graph 中保留分支的提交历史

git - Git 中如何产生交叉 merge ?

git - merge 、更新和 pull Git 分支而不使用 checkout

git - 为什么 'git merge' 添加波浪号结尾的文件?

git - 在 git 中使用 mergerequests 和 releasenotes 时不断发生冲突

git .BACKUP .BASE .LOCAL .REMOTE 文件

git - 如何在不 merge 或 rebase 的情况下解决分支上的 git 冲突

git - 如何使用 Visual Studio Code 作为 Git MergeTool 的默认编辑器,包括 3 向 merge

git union merge 带回一些删除的行

Git: merge 的分支应该总是删除吗?