【问题标题】:Git Revert, Checkout and Reset for Dummies [closed]Git Revert、Checkout 和 Reset for Dummies [关闭]
【发布时间】:2012-01-01 17:59:32
【问题描述】:

抱歉,这三个 git 命令对我的智力造成了极大的伤害。

是否可以为所有新手建立一个群组 wiki 来涵盖这三个 git 命令?我想学习的是如何将文件和项目恢复或回滚到之前的状态。

由于我没有使用 subversion 或其他集中式版本控制软件的经验,因此没有必要提及他们如何以不同的方式做事,而且常常令人困惑。

谢谢。

【问题讨论】:

  • 那里有大量的文档和教程。你读过哪些不适合你的书?
  • 我已经阅读了 git scm 社区书籍的相关部分,以及 Pro-Git,并购买了 Peepcode 截屏视频和 Peepcode PDF。我还有 Swicegoods Git 实用指南。我也刚买了 Loeliger 的 Git 版本控制,但还没有读过那本书。
  • 相关问题(用于 git-reset):stackoverflow.com/questions/2530060/…
  • @haziz:你读过手册页吗?在“相关部分”之前,您是否已阅读(并理解)所有社区书籍和 ProGit? (很难想象所有这些都将在一个部分中完全涵盖...)这些是单独的问题,如果您不理解已阅读的文档,听起来您需要备份并阅读基本。你总是可以试试 Git 比喻...tom.preston-werner.com/2009/05/19/the-git-parable.html
  • @haziz - 正如所写,这个问题无法回答。正如 Andrew Marshall 所说,展示什么对你有用,什么没用。换句话说,写一个问题,其中包含创建一个或多个文件/分支/任何内容的具体步骤,并展示您尝试完成的步骤。

标签: git git-checkout git-reset git-revert


【解决方案1】:

你提到的所有资源都很受欢迎,我很惊讶你没有发现它们有用。这些命令中的每一个的手册页可能是最具描述性的资源,但不可否认的是枯燥而密集。下面简单总结一下这三个命令的区别:

  • git revert 采用树状结构并创建一个新的提交,以撤消给定提交中所做的更改

  • git checkout 就是这样做的:检查树状结构。如果您传递一个分支名称,您将移动到该分支的HEAD,如果您传递一个非HEAD 提交或标记,您将进入一个“分离的HEAD”状态。无论如何,您的工作树现在将与提交时相同(此处存在一些未跟踪/新文件的边缘情况)。

  • git reset 采用树状结构,并擦除直到(但不包括)给定提交的所有提交,但不改变任何文件的当前状态。也就是说,提交已消失,但您的工作树仍处于相同状态。传递--hard 也会将文件恢复到状态。

(是的,a treeish is a real thing)

【讨论】:

    【解决方案2】:

    【讨论】:

    • 你也可以参考http://progit.org/book,更多的文档在http://git-scm.com/documentation。
    • 我已经阅读了 git-scm 社区书籍中的相关部分(非常简短)以及一些 Pro-Git。当我说这对我的智力征税时,我不是在开玩笑。
    • 嗨@haziz 我建议你建立一个新项目并测试命令的差异。 ;)
    【解决方案3】:

    是否可以为所有新手建立一个群组 wiki 来涵盖这三个 git 命令?

    说实话?大概,是的。当然,也许。不过,我从来没有建立过维基,所以我不知道我是否能够帮助你。 :P

    说真的,如果您以前没有看过此链接,可能会对您有所帮助:http://wiki.freegeek.org/index.php/Git_for_dummies

    另外,如果您还没有解析过这个问题,请查看:Git for beginners: The definitive practical guide

    【讨论】:

      【解决方案4】:

      http://progit.org/2011/07/11/reset.html 帮助我了解了结帐和重置之间的异同。 Revert 是一个不同的故事,它创建一个新的提交,取消另一个。

      【讨论】:

        猜你喜欢
        • 2012-01-11
        • 1970-01-01
        • 2015-01-17
        • 1970-01-01
        • 2014-09-03
        • 1970-01-01
        • 2011-04-08
        • 2015-11-20
        相关资源
        最近更新 更多