我对Git / Gerrit很新。 我必须在我们的一个软件的旧版本上为客户解决一个错误。我将本地Git重置为与此版本对应的提交,而不是创建一个新分支(让我们称之为 C ),解决了该错误并在我的本地新分支上提交了更改。最后我切换到Master并将新分支 C 合并到此。情况是这样的:
c1-> .. ->cx->cy (version of the custormer)->..->cz (Master/Origin)----->ck (merge commit)
| ^
->cn (branch C) (bug fix)--------------------------------|
我使用Eclipse作为eGit的编辑器来管理Git提交。所以我推送到Gerrit我的存储库。我预计只有提交 ck 被推送(它是Master分支上唯一的新提交),而是 cn 被推送。 我在Gerrit上放弃 cn , ck 被标记为+2并提交,但现在它已处于待定状态,我想是因为它被标记了取决于放弃的 cn 提交。
我想在Gerrit master上合并 cn ,我该怎么做?在这种情况下行事的正确方法是什么?
由于
答案 0 :(得分:1)
当您推送合并提交ERROR - jmeter.util.XPathUtil: Type=Val=false Tol=false org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 58; The string "--" is not permitted within comments. jmeter.extractor.XPathExtractor: SAXException while processing (//Response[1]/WI_HASH) The string "--" is not permitted within comments.
以进行审核时,您还要推送ck
进行审核,因为它尚未存储在存储库中。 Gerrit为每个尚不存在的提交创建一个新的“更改”。
有两种方法可以解决这个问题。
按原样推送cn
(基于cn
),然后当它合并时,Gerrit将为您创建合并提交(假设您使用“必要时合并”策略)。
将cy
重新引导到主分支的最新头部并再次推送。
要使用选项1,只需恢复您放弃的cn
版本,然后查看并合并它。
对于选项2,按照选项1恢复更改,然后在本地重新定位并再次推送,或者使用UI上的“Rebase”按钮对其进行重新定位。
在这两种情况下,合并提交cn
都可以放弃。