我有一个问题,当我樱桃从gerrit挑选一个提交,做出改变等。我想提交他们回来 - 在我做这个樱桃之前,我怎么能做到这一点? 现在,我刚才添加-A的所有文件,但是我不知道下一步该怎么做Gerrit樱桃挑
回答
修改仅适用于最新的提交。我们假设您要修改的提交被称为(具有SHA-1代码)111
。您可以在git log
中看到您提交的真实SHA-1代码。
您可以使用git reset --hard
使您的本地分支指向要修改的提交。请注意,对于没有Gerrit的“普通”git,这将是一个非常糟糕的主意,因为您通过修改已推送的提交来重写历史记录!
我假设你已经有一些本地的,未提交的某些文件的更改,并且你想将这些更改应用到提交111
。您必须保留这些更改,因为git reset --hard
will remove them and it couldn't be undone。
所以,你必须做(与你在一个分支的名称替换master
):
git stash save
git reset --hard 111
git stash apply
<do some more changes to commit 111 if needed>
git commit --amend
git push gerrit master:refs/for/master
瞧 - 你的提交111进行了修订,并与格里特更新。
还有另一种方法可以做到这一点 - 您可以使用git rebase --interactive
,但在这种情况下,我发现它比git reset
更复杂。
非常感谢你,那正是我正在寻找的 – user3274539
的格里特的工作流程,你的情况是:
- 使用URL从检讨获取从格里特的变化页面
- 进行更改
- 到指数的变化添加与
git add -A .
- 修改以前犯了
git commit --amend
- 修订推回提交到格里特
git push gerrit master:refs/for/master
(更换master
你和远程分支名称)
我做了一些改变,提交了他们,然后我樱桃Picked其他提交,做了另一个修改,现在我希望他们被推在我的樱桃选择之前的第一次提交,现在当我正在修改我在那个樱桃选择提交不幸 – user3274539
你可以通过交互式rebase('git rebase -i HEAD〜3')来完成。然后在你想修改的提交前用'e'替换'pick'。完成修改后,发出'git rebase --continue'完成操作。 –
我建议使用checkout而不是挑樱桃从格里特的改变/补丁集。惠特检查提交不会取决于。在你的情况下,修改最后修改会影响最后一次提交,这是樱桃选择 - 这是正常的。但是如果您想要修改1. commit中的更改,则只需首先删除樱桃选择通知。
- 1. 不能樱桃挑选
- 2. 樱桃挑选做什么?
- 3. 使用TortoiseGit挑选樱桃
- 4. git的樱桃挑选不起作用
- 5. git的樱桃挑选和合并
- 6. git的樱桃挑选多次提交
- 7. git樱桃挑选不工作
- 8. 限制樱桃挑选的权限
- 9. Git的樱桃挑选脏指数
- 10. 如何覆盖樱桃挑选冲突
- 11. 混帐SVN挑樱桃忽略警告
- 12. 奇怪的git樱桃挑选行为
- 13. '致命:樱桃挑选失败'与Git
- 14. 樱桃挑选通过Gerrit UI失败,但通过本地git-cherry-pick成功
- 15. Git的摘樱桃
- 16. GIT樱桃采摘如何找出已经采摘樱桃
- 17. 为什么樱桃挑选总是导致合并冲突?
- 18. Git樱桃挑选创建重复提交
- 19. Git樱桃挑选创建blob不提交?
- 20. git shortlog:如何排除“(从提交____挑选的樱桃)”等等?
- 21. 微风js樱桃挑选保存问题
- 22. git樱桃挑选冲突包括不需要的代码
- 23. git的樱桃挑选和重订失败
- 24. Git樱桃挑选一个提交并将其放在下面
- 25. 樱桃挑选只承诺触摸一个特定的文件
- 26. 读取/樱桃挑选从不同回购
- 27. TortoiseGit樱桃挑选失败!跳过这个提交?
- 28. 为什么我的樱桃挑选失败?
- 29. git:不同的可能输出樱桃挑
- 30. Git樱桃挑选和数据模型完整性
你实际上是否意味着评论/改变,而不是“从gerrit提交”和取/结账而不是樱桃选择? –
樱桃挑选提交是来自Gerrit的补丁集? – HiB