如何切换到特定的 Git 提交而不丢失之后所做的所有提交?
我希望本地文件将被更改,但提交的数据库将保持不变,只有当前位置指针设置为当前选定的提交。
我想将文件的状态更改为特定的提交,运行项目,并在完成后将文件恢复到上次提交。
如何在不压缩整个项目文件夹的情况下做到这一点?
如果您在某个分店mybranch
,请继续前进git checkout commit_hash
。然后您可以通过git checkout mybranch
. 我今天有同样的游戏将错误一分为二 :) 另外,您应该了解git bisect。
首先,使用git log
查看日志,选择您想要的提交,记下用于识别提交的 sha1 哈希。接下来,运行git checkout hash
. 完成后,git checkout original_branch
. 这具有不移动 HEAD 的优点,它只是将工作副本切换到特定的提交。
除了此处向您展示的其他答案之外,git checkout <the-hash-you-want>
值得知道您可以切换回您使用的位置:
git checkout @{-1}
这通常比:
git checkout what-was-that-original-branch-called-again-question-mark
如您所料,git checkout @{-2}
将带您回到您在 2 git checkout
s 前所在的分支,对于其他号码也是如此。如果你能记住你在哪里获得更大的数字,你应该为此获得某种奖牌。
可悲的是,对于生产力来说,git checkout @{1}
它没有带你去你将来会去的分支,这是一种耻辱。
我曾经实现过 git checkout @{10} 并且工作正常,然后我的大杯焦糖咖啡突然掉到了电脑上,然后......