抱歉,但这三个 git 命令正在消耗我的智慧。
是否可以为所有新手建立一个群组 wiki 来涵盖这三个 git 命令?我想学习的是如何将文件和项目恢复或回滚到以前的状态。
由于我没有使用 subversion 或其他集中式版本控制软件的经验,因此没有必要参考他们如何以不同的方式做事,而且常常令人困惑。
谢谢。
抱歉,但这三个 git 命令正在消耗我的智慧。
是否可以为所有新手建立一个群组 wiki 来涵盖这三个 git 命令?我想学习的是如何将文件和项目恢复或回滚到以前的状态。
由于我没有使用 subversion 或其他集中式版本控制软件的经验,因此没有必要参考他们如何以不同的方式做事,而且常常令人困惑。
谢谢。
你提到的所有资源都很受欢迎,我很惊讶你没有发现它们有帮助。这些命令中的每一个的手册页可能是最具描述性的资源,但无疑是枯燥而密集的。下面简单总结一下这三个命令的区别:
git revert
采用树状结构并创建一个新的提交,以撤消在给定提交中所做的更改
git checkout
就是这样做的:检查一个treeish。如果您传递一个分支名称,您将移动到该HEAD
分支的,如果您传递一个非HEAD
提交或标记,您将进入一个“分离HEAD
”状态。无论如何,您的工作树现在将与提交时相同(这里有一些带有未跟踪/新文件的边缘情况)。
git reset
采用树状结构,并擦除直到(但不包括)给定提交的所有提交,但不改变任何文件的当前状态。也就是说,提交已消失,但您的工作树仍处于相同状态。通过--hard
还会将文件恢复到状态。
是否可以为所有新手建立一个群组 wiki 来涵盖这三个 git 命令?
诚实地?大概,是的。当然,也许。不过,我从来没有建立过维基,所以我不知道我是否能够帮助你。:P
不过,说真的,如果您以前没有看过此链接,它可能会对您有所帮助:http ://wiki.freegeek.org/index.php/Git_for_dummies
此外,如果您还没有解析过这个问题,请查看这个问题:Git for初学者:权威实用指南
http://progit.org/2011/07/11/reset.html帮助我看到了结帐和重置之间的异同。Revert 是一个不同的故事,它创建一个新的提交,取消另一个。