大佬教程收集整理的这篇文章主要介绍了Git 系列教程(7)- 撤销操作,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
会再次提交暂存区的内容,但会覆盖最后一次提交的信息
git commit -m 'initial commit' git add forgotten_file git commit --amend -m "second commit"
目前我用最新版的 git(2.31.1) ,它会提示用 git restore 来取消暂存,但是官方文档会用 git reset
polo@B-J5D1MD6R-2312 watermarker % git add . polo@B-J5D1MD6R- git status 位于分支 master 您的分支领先 origin/master' 共 5 个提交。 (使用 git push" 来发布您的本地提交) 要提交的变更: (使用 git restore --staged <文件>... 以取消暂存) 删除: test1.txt 删除: ttrtt.txt
执行 git restore
polo@B-J5D1MD6R-2312 watermarker % git restore --staged test1.txt polo@B-J5D1MD6R-2312 watermarker % ls README.md font markers.py test.py venv polo@B-J5D1MD6R- 以取消暂存) 删除: ttrtt.txt 尚未暂存以备提交的变更: (使用 git add/rm <文件>... 更新要提交的内容) (使用 git restore <文件>... 丢弃工作区的改动) 删除: test1.txt
这里未追踪的文件还能继续使用 git restore,会直接丢弃之前的改动,比如这里是删除文件,执行后它会恢复文件
polo@B-J5D1MD6R- git restore test1.txt polo@B-J5D1MD6R- 以取消暂存) 删除: ttrtt.txt polo@B-J5D1MD6R- README.md font markers.py test.py test1.txt venv
可以看到上面的 ls 和下面的 ls 对比,很明显 test1.txt 回来了
git reset HEAD <文件名>
具体栗子
olo@B-J5D1MD6R- 以取消暂存) 删除: test1.txt 删除: ttrtt.txt polo@B-J5D1MD6R- git reset HEAD test1.txt 重置后取消暂存的变更: D test1.txt polo@B-J5D1MD6R- 丢弃工作区的改动) 删除: test1.txt
能看到 test1.txt 已经撤销暂存区了
git reset
高危操作,不加任何参数,直接把所有提交都撤销
具体栗子
polo@B-J5D1MD6R- 以取消暂存) 重命名: test1.txt -> test22.txt 重命名: ttrtt.txt -> test3.txt 新文件: testt.txt polo@B-J5D1MD6R- git reset 重置后取消暂存的变更: D test1.txt D ttrtt.txt polo@B-J5D1MD6R- 来发布您的本地提交) 尚未暂存以备提交的变更: (使用 丢弃工作区的改动) 删除: test1.txt 删除: ttrtt.txt 未跟踪的文件: (使用 git add <文件>... 以包含要提交的内容) test22.txt test3.txt testt.txt 修改尚未加入提交(使用 git add" 和/或 git commit -a) polo@B-J5D1MD6R- README.md markers.py test22.txt testt.txt font test.py test3.txt venv polo@B-J5D1MD6R-2312 watermarker %
本来有三个提交,执行完 git reset 直接都撤销出暂存区,需要重新提交了
不想保留对某个文件的修改怎么操作?就是将它还原成上次提交时的样子(或者刚 clone 下来的样子)
Changes not staged for commit: (use git add <file>... to update what will be committed) (use git checkout -- <file>..." to discard changes in working directory) modified: CONTRIBUTinG.md
重点记住这个 checkout 命令
git checkout -- <file>...
以上是大佬教程为你收集整理的Git 系列教程(7)- 撤销操作全部内容,希望文章能够帮你解决Git 系列教程(7)- 撤销操作所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。