Git重置
git reset 命令用于:
- 将整个工作树返回到先前提交的状态。它将丢弃提交或者清除未提交的更改。
- 更改分支 HEAD 指向的提交。它可以调整已经存在的提交历史。
- 用于取消暂存文件。
如果要查看在当前状态和特定提交状态之间所做的文件更改,请运行以下命令:
Git Checkout
该命令用于:
- 将 HEAD 指针移动到特定提交或者在不同分支之间切换;
- 将任何内容更改回滚到特定提交的更改;
- 不对提交历史进行更改;
- 覆盖工作目录中的文件。
因此,每当我们需要撤消 git 存储库中的更改时,我们都可以轻松运行上述命令。
使用这些命令乍一看似乎令人困惑,但我们掌握的有关它们的信息越多,工作就会越好。
Git Revert
此命令有助于:
- 回滚已提交的更改;
- 通过反转特定提交来生成新提交。所以,它可以添加一个全新的提交历史,但不能修改已经存在的。
- 覆盖工作目录中包含的文件。
在 Git 中重置、恢复和检出
Git reset、git revert 和 git checkout 可以说是 Git 最有效的工具。
他们提供的最重要的选项是撤消 git 存储库中的更改。
由于上面给出的命令是相似的,所以很容易混淆。
让我们看看如何毫不费力地使用它们。
将文件恢复和重置为特定版本
如果要查看在当前状态和特定提交状态之间所做的文件更改,请运行以下命令:
git diff <sha1-commit-hash> <file-path>
要将文件重置为特定提交的状态,请运行 git reset 命令:
git reset <sha1-commit-hash> <file-path>
我们还可以有效地使用 git checkout 命令:
git checkout <sha1-commit-hash> -- <file1-path> <file2-path>
如果要重置为特定提交之前的提交,请添加 ~1(其中 1 是我们要返回的提交数,它可以是任何数字):
git checkout <sha1-commit-hash>~1 -- <file1-path> <file2-path>
日期:2020-06-02 22:16:43 来源:oir作者:oir