临时切换工作拷贝到一个特定的Git提交(Temporarily switch working cop

2019-06-23 19:02发布

如何切换到具体的git的承诺,而不会丢失之后所做的所有提交

我想是本地文件将被改变,但提交数据库将保持不变,只有当前位置指针设置为当前选择的承诺。

我想改变文件的状态,以具体的承诺,跑项目,完成后,恢复文件回到上次提交。

如何做到这一点没有荏苒整个项目的文件夹?

Answer 1:

如果你在某个分支mybranch ,先走一步, git checkout commit_hash 。 然后你就可以返回到您的分支git checkout mybranch 。 我有同样的游戏平分一个bug今天:)另外,你应该知道的git平分 。



Answer 2:

首先,使用git log来查看日志,选择你需要的承诺,记下用于标识提交SHA1哈希。 接下来,运行git checkout hash 。 设置完毕后, git checkout original_branch 。 这样做不动了头的优势,它只是切换工作副本到一个指定的提交。



Answer 3:

除了其他的答案在这里向您展示如何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前S,同样地,对于其他数字。 如果你还记得你在哪里了更大的数字,你应该得到某种奖牌为的。


可悲的是生产力, git checkout @{1}不带你去,你就会对分公司的未来,这是一种耻辱。



文章来源: Temporarily switch working copy to a specific Git commit