Git在提交之间切换

时间:2012-01-07 19:19:26

标签: git version-control

我在这里阅读并搜索了很多,但没有找到答案,所以有没有办法在提交之间切换,就像你使用branches一样。让我说我有这些提交:a;b;c其中{{1是我的最后一次提交,我可以切换回提交c吗?或者您必须执行a并手动修改文件?

3 个答案:

答案 0 :(得分:12)

只需输入git checkout a即可。或者更有用的是git checkout -b mybranch a,将a结帐为新分支mybranch

如果您要还原bc,可以使用git revert,或者从当前分支的历史记录中完全删除它们,您可以git rebase -i a并将它们丢弃进行。

即使您打算使用git diff,也不必手动执行任何操作。查看git format-patchgit applygit am以自动创建和应用修补程序。

答案 1 :(得分:3)

您可以根据要使用的修订创建分支。可以使用

查看修订号
   git log

从上一版本中删除分支

 git branch -f branchname rev

答案 2 :(得分:1)

git使用commit的定义。 git将委托定义为:

  

提交肥胖型

     

表示提交或标记对象名称。采用commit-ish的命令   参数最终希望对提交对象进行操作,但是会自动进行   取消引用指向提交的标记对象。

这似乎有点不完整,因为分支通常也被视为commit-ish。

基本上,你可以签出任何有sha-1哈希的东西。