我想在过去看到来自特定提交的文件,我正在考虑git reset --hard但是我将无法看到超出该提交的提交.如何返回提交(连同文件状态),查看文件,再次转到现在?
Mar*_*air 58
假设您当前的分支是master旧提交a1b2c3,那么您可以将工作树中的所有文件更改回旧提交:
git checkout a1b2c3
Run Code Online (Sandbox Code Playgroud)
...并返回master:
git checkout master
Run Code Online (Sandbox Code Playgroud)
这种在你的git历史中跳转的方式(即检查带有对象名称的提交,也称为hash或SHA1sum)对于找到以前的好提交非常有用git bisect,例如,因为它不会移动你的分支.
要记住的一件事是,在执行此操作时,您将收到一个可能令人困惑的警告:如果您从其对象名称(a1b2c3)中检出提交将使您进入称为"分离的HEAD"的状态,其中HEAD,通常代表您当前的分支,而不是直接指向特定的提交.这不是值得担心的 - 它对于在历史中移动非常有用 - 但它确实意味着如果在HEAD分离时创建新提交,它们将不会向前移动分支.
fork0在下面的注释中指出了可能有用的快捷方式git checkout -,它将检查HEAD指向的前一个分支或提交.
| 归档时间: |
|
| 查看次数: |
18511 次 |
| 最近记录: |