如何切换到特定的Git提交,而不会丢失在其之后所做的所有提交
我希望更改本地文件,但提交的数据库将保持完好,只有当前位置指针设置为当前选定的提交。
我想要将文件的状态更改为特定的提交,运行项目,并在完成后,将文件恢复到上次提交。
如何在不压缩整个项目文件夹的情况下做到这一点?
发布于 2012-04-19 22:38:44
如果您在某个分支mybranch
,只需继续并git checkout commit_hash
即可。然后你可以通过git checkout mybranch
返回你的分支。我今天玩了同样的游戏,把一个bug一分为二:)另外,你应该知道git bisect。
发布于 2012-04-19 22:39:23
首先,使用git log
查看日志,选择所需的提交,记下用于标识提交的sha1散列。接下来,运行git checkout hash
。在你完成之后,git checkout original_branch
。这具有不移动头部的优点,它只是将工作副本切换到特定的提交。
发布于 2018-09-17 15:21:38
除了这里向你展示如何git checkout <the-hash-you-want>
的其他答案之外,值得知道的是,你可以切换回你使用的地方:
git checkout @{-1}
这通常比以下操作更方便:
git checkout what-was-that-original-branch-called-again-question-mark
正如您可能预料到的,git checkout @{-2}
将带您返回到两个git checkout
之前的分支,对于其他数字也是如此。如果你能记住你在哪里得到了更大的数字,你应该为此获得某种奖牌。
令人遗憾的是,对于生产力来说,git checkout @{1}
不会将您带到您将来要使用的分支,这是一种遗憾。
https://stackoverflow.com/questions/10230469
复制相似问题