Git Switch / Checkout to this

时间:2017-10-18 18:23:19

标签: git

我弄得一团糟,想知道你是否可以帮忙? 它可能有很多,所以我希望得到我需要做的事情。

  • Rev 10无法正确编译。
  • Rev 07 - 正确编译。我想看看Rev 07和Rev 08之间的差异,找出问题所在,然后将这些变化整合到Rev 10中。
  • 我需要验证提交08和09以确定它们是否可以编译。

这是我认为我需要做的事情:

  1. 我承诺并推动保存我的更改。 (也许我可以隐藏这些变化,但我现在还不知道该怎么做。)
  2. 显示日志
  3. 切换/检查(Rev 09)
    • 我不想创建分支。我只是想看看它是否编译。 在我完成之后,我想我可以切换回Rev 10,在那里我离开了。如果我的想法是正确的?
    • 我不想选择'覆盖工作树更改(强制)',因为 我已经承诺并推送了我的工作文件。
  4. 也许我错了,但我不认为每次切换到某个结账时都必须创建一个分支。我想做的就是验证版本编译,然后回到我离开的地方。

    P.S。我试图用Windows GIT完成这个(如果你不能告诉)。我可以得到Unix命令的小说。

    PSS如果问题不是太多,我也在考虑制作版本07的版本11.摆脱不编译的版本,而不是制作另一个" Working Branch& #34 ;.做这样的事情的正确方法是什么。特别感谢。

    谢谢,

1 个答案:

答案 0 :(得分:0)

单独检查早期版本的麻烦在于它使您的仓库处于“无头”模式。与Subversion不同,如果它不是分支的提示,Git不记得你所使用的修订。

要正确跟踪事物,您需要在该早期版本中创建一个临时分支,例如:

git checkout -b temp_branch older_commit

这很容易做到,你可以随时删除分支 - 请记住“git-branch -d”只会删除“完全合并”的分支,这样的临时分支将是,所以这样的删除将非常安全。