回到先前的提交而不破坏当前的提交

xon*_*rlz 6 git

所以我想回到我之前的提交,而不会破坏我现在拥有的最新版本.我该怎么做呢?做一个git reset HARD会破坏我当前的提交权吗?

Dan*_*man 13

假设您没有任何未签入的更改,git checkout $OLD_COMMIT将带您到那里,git checkout $BRANCH并将带您回来.

这将使你潜在地处于一个独立的头上; 请参阅git checkout --help详细信息,但如果你想要的只是对旧版本或者应该没问题的东西进行测试.

您可能还对以下内容感兴趣: git stash- 临时存储未提交 git show $SHA1的更改以将旧提交的更改显示为差异, git show ${REF}:${PATH}以在$ REF中显示$ PATH的内容

(在最后一个git show调用中,ref可以是sha,或者是分支,或者其他什么.)

  • 只是对于任何新手:当他说"git checkout $ OLD_COMMIT"时,他通常可能意味着"git checkout b46b"(SHA的开头).没有破折号或美元符号或任何东西.回到主分支,如果"master"是分支的名称,你会做"git checkout master"之类的事情. (2认同)