Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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远程合并提交导致gerrit中的错误依赖项_Git_Branch_Gerrit - Fatal编程技术网

git远程合并提交导致gerrit中的错误依赖项

git远程合并提交导致gerrit中的错误依赖项,git,branch,gerrit,Git,Branch,Gerrit,我在git的一个远程分支机构工作。在做任何工作之前,我都会做一个简单的动作来得到孩子。当我查看git日志时,我看到这会自动创建一个合并提交,其中包含一条消息:“合并分支‘master’”ssh://myserver:1111/mybranch". 然后,我做我的工作,承诺我的改变。在那之后,我把找头往上推。我们的系统是用gerrit设置的,用于代码审查。我的新更改显示在gerrit中,并依赖于合并提交。如何消除此问题?合并可能没有快速进行,因为您的分支在拉取之前与远程分支存在差异。所以,当您推动

我在git的一个远程分支机构工作。在做任何工作之前,我都会做一个简单的动作来得到孩子。当我查看git日志时,我看到这会自动创建一个合并提交,其中包含一条消息:“合并分支‘master’”ssh://myserver:1111/mybranch". 然后,我做我的工作,承诺我的改变。在那之后,我把找头往上推。我们的系统是用gerrit设置的,用于代码审查。我的新更改显示在gerrit中,并依赖于合并提交。如何消除此问题?

合并可能没有快速进行,因为您的分支在拉取之前与远程分支存在差异。所以,当您推动您的更改时,它可能在gerrit中创建了不止一个用于修改的技术,对吗

与gerrit合作的最佳方法是在提交和推动任何新更改之前对远程分支进行干净的签出,在这种情况下,您的更改将不会有任何依赖性。我通常会为每个新功能或修复签出一个新分支,我需要推送并保留它们,直到它们被验证并合并到gerrit中的master repo(以防万一修订后需要更改某些内容,并为相同的更改创建新补丁集)


但是,如果您同时推送多个提交,并且上一次提交要求上一次提交,则依赖项非常有用,例如,如果您向干净分支添加了两个提交,并且推送了它们,则它们将在gerrit中显示为两个更改,在最新和上一次提交之间具有依赖关系,最新的提交将永远不会在受抚养人之前合并到主存储库。

git pull
实际上是
git fetch
git merge
,如果本地分支是远程跟踪。因此,如果远程分支不能快速转发,那么git pull将创建一个合并提交。要避免合并提交,请使用

'git fetch'
'git rebase -p'
'git pull --rebase' 
或者在git配置中使用值
仅设置
merge.ff

从本地分支禁用远程跟踪设置
git
配置--取消分支..合并