用简单的英语,“git reset”有什么作用?
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我看到 有趣的帖子 解释了关于 git reset 微妙之处。 不幸的是,我读的越多,我就越不能完全理解它。 我来自SVN背景,Git是一个全新的范例。 我很容易变得善变,但Git更具技术性。 我认为 git reset 接近 hg revert ,但似乎存在差异。 那么 git reset 究竟做了什么? 请包括以下详细说明: 选项 --hard , - --soft 和 --merge ; 与 HEAD 使用的奇怪符号,如 HEAD^ 和 HEAD~1 ; 具体用例和工作流程; 对工作副本, HEAD 和您的全球压力水平的影响。 #1楼 当您提交git的东西时,首先必须暂存(添加到索引)您的更改。 这意味着在git认为它们是提交的一部分之前,你必须git添加你想要包含在这个提交中的所有文件。 让我们先来看看git repo的图像: 所以,现在很简单。 我们必须在工作目录中工作,创建文件,目录和所有。 这些更改是未跟踪的更改。 要跟踪它们,我们需要使用 git add 命令将它们添加到git索引。 一旦将它们添加到git索引中。 如果我们想将它推送到git存储库,我们现在可以提交这些更改。 但突然间我们知道我们提交了一个额外的文件,我们在索引中添加了不需要推入git存储库。 这意味着我们不希望索引中的该文件。