Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如果没有冲突,则在远程服务器上自动合并_Git_Merge_Push_Git Merge - Fatal编程技术网

Git 如果没有冲突,则在远程服务器上自动合并

Git 如果没有冲突,则在远程服务器上自动合并,git,merge,push,git-merge,Git,Merge,Push,Git Merge,如果没有冲突,是否有办法自动接受推送并合并 我知道这是一种不好的做法,但我有一个特例,即外围git回购由机器人更新 如果没有冲突,是否有办法自动接受推送并合并 推理的流程应该颠倒——只有在尝试合并后,您才能知道没有冲突。当本地树和远程树发散时,合并是必要的,并且只有在您尝试推送之后,也就是说,在您将本地树带到远程树之后,才会在远程树上检测到发散。在这种情况下,远程端的git通常会拒绝让您整理差异的推送—您最好在客户端而不是远程端这样做 如果您确定没有冲突,您可以信任git pull——它在默认模

如果没有冲突,是否有办法自动接受推送并合并

我知道这是一种不好的做法,但我有一个特例,即外围git回购由机器人更新

如果没有冲突,是否有办法自动接受推送并合并

推理的流程应该颠倒——只有在尝试合并后,您才能知道没有冲突。当本地树和远程树发散时,合并是必要的,并且只有在您尝试推送之后,也就是说,在您将本地树带到远程树之后,才会在远程树上检测到发散。在这种情况下,远程端的git通常会拒绝让您整理差异的推送—您最好在客户端而不是远程端这样做

如果您确定没有冲突,您可以信任git pull——它在默认模式下与FETCH_头合并。比如说,

git pull --no-edit
git push
不鼓励使用
--no edit
选项,但会通过接受默认合并消息来避免将您转储到编辑器中。如果合并未成功,则可以将失败的两个命令别名为一个命令

git config alias.merge-n-push '!f() { git pull --no-edit && git push; }; f'

我不能保证,虽然我将执行拉合并,但在remote上不会有任何更改

当然,您不能,git是一个分布式版本控制系统,这种竞争是固有的,甚至是需要的。在决定合并什么和如何合并时以某种方式锁定远程设备的方法将不是git惯用方法。你只需要不断地推动,直到成功。在实践中,这很少是一个问题,因为在最坏的情况下,在完成复杂的合并/推送时,您可以要求您的同事推迟

尽管如此,您可以通过检查遥控器来缓解这一问题:

你为什么不制作一个别名来进行合并,然后把它推到我现在的位置上呢?@OliCharlesworthpushing@kaman因为我不能保证当我执行拉合并时,远程服务器上不会有任何变化