Git 如何停止合并(再次…)

Git 如何停止合并(再次…),git,git-merge,Git,Git Merge,我如何最终阻止Git尝试合并?我从不希望它合并 从中,我知道该工具不尊重我的取消,因为它在没有问我的情况下杀死了它启动的编辑器。所以现在我只需要杀死-9终端进程 如果我遇到Git想要合并的情况,我总是想要服务器的源文件副本。我将在本地删除该文件,然后从服务器上再次获取它 现在,Git正在用这件好事来回报我: 您尚未断定合并头存在。 请在合并之前提交更改 当然,git重置头不起作用 这里是最好的部分:它们是完全相同的文件。他们之间没有区别。我做了一个改变,我用scp在8到12个不同的平台上测试它,

我如何最终阻止Git尝试合并?我从不希望它合并

从中,我知道该工具不尊重我的取消,因为它在没有问我的情况下杀死了它启动的编辑器。所以现在我只需要杀死-9终端进程

如果我遇到Git想要合并的情况,我总是想要服务器的源文件副本。我将在本地删除该文件,然后从服务器上再次获取它

现在,Git正在用这件好事来回报我:

您尚未断定合并头存在。 请在合并之前提交更改

当然,git重置头不起作用

这里是最好的部分:它们是完全相同的文件。他们之间没有区别。我做了一个改变,我用scp在8到12个不同的平台上测试它,然后在测试后在其中一个框中签入它。但是从我的经验来看,我知道这个工具太蠢了,在这方面没有任何智能可言

如果你想知道,这里有一组来源。它们是位于远程服务器上的项目源。我想让Git做的就是签出克隆、更新pull、告诉我什么改变了diff和签入push。我不需要该工具的任何其他功能。

您可以为.gittributes中的所有文件声明一个“*”,并使用一个keepTheir脚本

keepTheir.sh将是:

mv -f $3 $2
exit 0
我需要得到一个文件的服务器副本和可能的meld更改。在Subversion下,我将使用svn更新

简单:使用不会触发任何合并的,然后:

请参见

您可以为.gittattributes中的所有文件声明一个“*”并保留其脚本

keepTheir.sh将是:

mv -f $3 $2
exit 0
我需要得到一个文件的服务器副本和可能的meld更改。在Subversion下,我将使用svn更新

简单:使用不会触发任何合并的,然后:

请参见将此添加到.git/config

并将其添加到.git属性中

将此添加到您的.git/config

并将其添加到.git属性中


@jww通常情况下,git merge-abort足以停止合并。当我执行git pull时,它会自动启动进程。我从不做git合并。我从来没有发出过这个命令。@jww git pull是git fetch+git merge,这很有意义。谢谢。所以也许我该回去了。我需要得到一个文件的服务器副本和可能的meld更改。在Subversion下,我将使用svn更新。当我在过去研究它时,我被告知要使用git-pull。但git pull似乎不是适合这项工作的工具。我应该使用什么来获取服务器的文件副本以及可能的meld更改?@jww为了不使用git pull,我已经更新了答案。@jww通常,git merge-abort足以停止合并。当我执行git pull时,它会自动启动该过程。我从不做git合并。我从来没有发出过这个命令。@jww git pull是git fetch+git merge,这很有意义。谢谢。所以也许我该回去了。我需要得到一个文件的服务器副本和可能的meld更改。在Subversion下,我将使用svn更新。当我在过去研究它时,我被告知要使用git-pull。但git pull似乎不是适合这项工作的工具。我应该使用什么来获取服务器的文件副本以及可能的meld更改?@jww为了不使用git pull,我已经更新了我的答案。
git checkout origin/master -- path/to/file
[merge "keepTheir"]
   name = always keep their during merge
   driver = cp -f %B %A 
public/dist/app.min.css merge=keepTheir