57

我是最近的 git convert 。能够使用 git-svn 将我的分支保留在本地而不干扰 svn 服务器,这真是太好了。最新版本的代码中存在一个错误。我想建立一个有效的时间,以便我可以使用 git bisect。我找不到正确的命令来及时返回。谢谢。

4

7 回答 7

63
git checkout HEAD~1

这会将您当前的 HEAD 移动到更早的一个修订版。

git checkout <sha>

这会将您当前的 HEAD 移动到给定的版本。使用git loggitk查找您要查找的修订。

于 2009-02-21T19:20:11.943 回答
21

回到最新的(相当于:svn up),你需要更新分支,通常:

git checkout master

这是因为 HEAD 指的是正在检出的版本。

于 2011-03-09T11:08:58.290 回答
1
git 拉

似乎更适合您正在寻找的命令

于 2014-06-20T01:03:51.343 回答
0

这似乎做了我想要的,这也是我认为你所要求的

git checkout *
于 2014-10-02T15:18:25.783 回答
0

如果您使用的是 TortoiseGit,那么

Right Click in project folder > TortoiseGit > Pull
于 2015-02-05T07:26:27.870 回答
0

2019 年更新:正确的命令是

git restore -s @~1

(例如,在 HEAD 父提交中恢复文件的状态)

那是因为:

  • git checkout太混乱了,同时处理分支和文件。
    git restore仅...恢复文件,从 Git 2.23(2019 年 8 月)开始。
    不需要git checkout HEAD~ -- .
  • Git 1.8.4@作为HEAD.
于 2019-12-31T17:06:31.980 回答
0

git 中没有与 svn update 完全等价的功能。如果您删除一个文件,即使您再次拉取它,它也会显示为已删除状态。唯一的选择是签出该文件。如果您错误地删除了多个文件并想要恢复它们,您可以重命名该存储库并再次克隆它。这就是我所做的。

于 2020-11-18T14:44:06.113 回答