介绍
撤销是指恢复先前的状态或操作,以便回退或取消更改,Git提供了多种方式来进行撤销,撤销对文件的修改、撤销暂存的修改、撤销提交、撤销合并等;
详细教程
1、撤销对文件的修改
这个命令会撤销对指定文件的修改,将其恢复到最近一次提交的状态。
git checkout -- 文件名
2、撤销对所有文件的修改
这个命令会撤销对所有文件的修改,将它们恢复到最近一次提交的状态。
git checkout -- .
3、撤销对已经暂存(staged)的文件的修改
这个命令会将指定文件从暂存区中移除,但保留对工作目录中文件的修改。这相当于撤销了对文件的暂存操作。
git reset HEAD <文件名>
4、撤销最近的提交
这个命令会创建一个新的提交,用于撤销最近一次的提交。它会保留先前提交所引入的更改,并将这些更改应用于当前分支。
git revert HEAD
5、撤销当前分支的提交
它是用于将当前分支的 HEAD 指针移动到前一个提交,并丢弃指定数量(<num>)的最近提交,包括这些提交所引入的更改。
当你意识到最近的一次合并操作引入了错误或不必要的更改时,你希望撤销这些更改并回到合并之前的状态。当你想要回滚最近的几个提交,并且确定这些提交及其更改都不再需要时。
git reset --hard HEAD~<num>
6、撤销所有本地的修改,回到远程仓库的状态
当你的本地分支与远程分支存在差异,并且你希望完全放弃本地的修改,回到与远程分支相同的状态。
当你需要丢弃所有本地修改并重新开始,以远程分支为基准重新构建你的工作区。
origin 的远程仓库别名
git reset --hard origin/<分支名>
7、使用 git revert 撤销提交并创建新的提交
git revert <commit-hash>
<commit-hash> 是你要撤销的提交的哈希值,你可以通过 git log 或其他方式查找到。
注意,使用 git revert 撤销提交不会修改现有的提交历史,而是创建一个新的提交来反转之前的更改。这样可以避免修改共享存储库的历史记录。
8、使用 git reset 撤销提交并删除提交历史
git reset <commit-hash>
注意,使用 git reset 撤销提交会永久丢弃指定提交之后的所有提交历史,并且这些提交将无法恢复。只有在你确定不再需要这些提交历史时才应该使用 git reset,请务必谨慎使用 --hard 参数,因为它会对您的代码库进行永久性更改。
版权归原作者 久绊A 所有, 如有侵权,请联系我们删除。