首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >临时将工作副本切换到特定的Git提交

临时将工作副本切换到特定的Git提交
EN

Stack Overflow用户
提问于 2012-04-19 22:37:24
回答 4查看 127.6K关注 0票数 290

如何切换到特定的Git提交,而不会丢失在其之后所做的所有提交

我希望更改本地文件,但提交的数据库将保持完好,只有当前位置指针设置为当前选定的提交。

我想要将文件的状态更改为特定的提交,运行项目,并在完成后,将文件恢复到上次提交。

如何在不压缩整个项目文件夹的情况下做到这一点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-19 22:38:44

如果您在某个分支mybranch,只需继续并git checkout commit_hash即可。然后你可以通过git checkout mybranch返回你的分支。我今天玩了同样的游戏,把一个bug一分为二:)另外,你应该知道git bisect

票数 391
EN

Stack Overflow用户

发布于 2012-04-19 22:39:23

首先,使用git log查看日志,选择所需的提交,记下用于标识提交的sha1散列。接下来,运行git checkout hash。在你完成之后,git checkout original_branch。这具有不移动头部的优点,它只是将工作副本切换到特定的提交。

票数 65
EN

Stack Overflow用户

发布于 2018-09-17 15:21:38

除了这里向你展示如何git checkout <the-hash-you-want>的其他答案之外,值得知道的是,你可以切换回你使用的地方:

代码语言:javascript
复制
git checkout @{-1}

这通常比以下操作更方便:

代码语言:javascript
复制
git checkout what-was-that-original-branch-called-again-question-mark

正如您可能预料到的,git checkout @{-2}将带您返回到两个git checkout之前的分支,对于其他数字也是如此。如果你能记住你在哪里得到了更大的数字,你应该为此获得某种奖牌。

令人遗憾的是,对于生产力来说,git checkout @{1}不会将您带到您将来要使用的分支,这是一种遗憾。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10230469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档