繁体   English   中英

如何从还原的 Git 提交创建拉取请求?

[英]How to create a pull request from reverted Git commit?

我有一个主分支,我错误地将提交推送到该分支。 我应该将其推送到功能分支。 所以,我已经从主分支恢复了那个提交,并推送了一个恢复:

git revert <commit-hash>
git push

然后我创建了一个新的功能分支,我想使用我错误推送到主分支的提交。 我已经选择了对该分支的提交:

git cherry-pick <commit-hash>

当我做git status时,我得到:

没什么可提交的,工作树干净

由于我想从该分支发出拉取请求,因此没有提交就无法完成。 如何使恢复的提交显示为功能分支上的新提交?

摘樱桃后,工作树干净的,所以 git 状态是正确的。 您刚刚挑选的樱桃就是您想要的提交。 所以不要担心,要快乐。 推你可爱的新分支!

您可以git revert已还原的提交。 恢复创建一个新的提交,取消恢复的提交,如果你恢复一个恢复提交,它会恢复更改。

Cherry pick 的行为可能出乎意料,因为历史仍然包含您正在挑选的提交。 它看到提交已经在您的分支的历史记录中。

编辑:从头开始。 如果您只是担心git status是干净的,那么马特的回答是正确的 Cherry pick 已成功并将更改提交到您的分支(它有效地为您完成了git commit - 带来了更改、消息和其他提交元数据)。

如果您查看git log ,您应该会看到精心挑选的提交。 检查旧提交中的更改,您可以执行git checkout SHA_HASH some_file.txt ,然后将其显示为工作副本中未跟踪的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM