重置临时提交,修改并再次重做之前的提交

问题描述 投票:0回答:1

当我在功能分支上工作时,我必须不时提交我的临时作品,以便其他人可以跟踪我的最新更改,但我更喜欢在我的 IDE 中显示此分支上的更改。

我能想到的第一步是:

git reset --soft HEAD~n

但是我如何重做这些提交,以便我可以基于原始 HEAD 创建新的提交?

澄清

这是一个关于与同一 git 分支上的其他人协作的问题。 “b”和“a”(参见上图)是我对一项重要新功能的承诺。我承诺并推动,以便其他人可以根据我的代码开始他们的工作。我想要软重置,因为我想在 IDE 编辑器中看到更改的行,因为这是一个很大的新功能并且非常复杂。当我完成新工作时,我想重播提交“b”和“a”,因为它们被软重置并推送到远程。然后我想创建一个新的提交“n”并继续研究这个新功能。

git
1个回答
2
投票

您想重做已重置的提交吗?

那么,就这样吧

git reflog

并在重置之前查找上次提交的消息。

然后重置为该哈希值。

git reset 147ad0

或者类似的东西

然后,如果您选择了正确的提交,那么您现在将只拥有自大重置以来所做的更改作为本地更改。如果您从引用日志中选择了错误的哈希值,您可以尝试其他哈希值。因为重置不会改变文件的状态,所以您可以尝试一遍又一遍地重置,直到您喜欢所看到的内容为止。

© www.soinside.com 2019 - 2024. All rights reserved.