适合前端初学者的git实操总结--windows系统git教程(三)

点击回顾git用法

适合前端初学者的git实操总结–windows系统git教程(一)

适合前端初学者的git实操总结–windows系统git教程(二)


文章目录

  • 适合前端初学者的git实操总结--windows系统git教程(一)
  • 适合前端初学者的git实操总结--windows系统git教程(二)
  • 前言
  • 六、如何撤销修改,撤销修改与版本回退的区别
  • 七、删除及删除的注意事项


前言

接 适合前端初学者的git实操总结–windows系统git教程(一)和 适合前端初学者的git实操总结–windows系统git教程(二),继续往下更新


六、如何撤销修改,撤销修改与版本回退的区别

假如你在readme.txt中又添加了一行:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
My stupid boss still prefers SVN.  // 新添加的

适合前端初学者的git实操总结--windows系统git教程(三)_第1张图片

如何反悔,我们可以删掉最后一行,手动把文件恢复到上一个版本的状态。

但如果已经git add 到暂存区了,这时git status 查看
适合前端初学者的git实操总结--windows系统git教程(三)_第2张图片
可以看到,修改只是添加到了暂存区,还没有提交:

git restore --staged file可以把暂存区的修改撤销掉,重新放回工作区:
再用git status查看一下,现在暂存区是干净的,工作区有修改:

适合前端初学者的git实操总结--windows系统git教程(三)_第3张图片

现在,假设我们不但改错了东西,还从暂存区提交到了版本库,怎么办呢?
虽然版本回退还可以回退到上一个版本。不过,这是有条件的,就是我们还没有把自己的本地版本库推送到远程。

情况1:在工作区做了修改,并未添加到暂存区,想撤销工作区的修改,用 git restore file;
情况2:在工作区做了修改,并用git add 添加到了暂存区,未提交;想撤销,分两步,
1.先撤销暂存区的修改,用 git restore --staged file,
2.参考情况1撤销工作区的修改,用 git restore file;

适合前端初学者的git实操总结--windows系统git教程(三)_第4张图片
适合前端初学者的git实操总结--windows系统git教程(三)_第5张图片

情况3:在工作区做了修改,且git add git commit添加并提交了内容,想撤销本次提交,直接用 git reset --hard
HEAD^回退版本,即可保证工作区,暂存区,版本库都是上次的内容,不过前提是没有推送到远程库。

请注意: 我们在很多博客看到的上述操作分别是git checkout 以及 git reset HEAD
这是因为git官方做了修改,原来的git checkout 可以使用 git restore 代替,原来的 git reset HEAD可以使用 git restore --staged 代替,最新版的git提示都已经更换成了restore

七、删除及删除的注意事项

实战一下,先添加一个新文件test.txt到Git并且提交:↓
适合前端初学者的git实操总结--windows系统git教程(三)_第6张图片
适合前端初学者的git实操总结--windows系统git教程(三)_第7张图片

一般情况下,我们通常直接在文件管理器中把没用的文件删了,或者用git rm命令删了:↓
适合前端初学者的git实操总结--windows系统git教程(三)_第8张图片
适合前端初学者的git实操总结--windows系统git教程(三)_第9张图片

这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:↓
适合前端初学者的git实操总结--windows系统git教程(三)_第10张图片

现在我们两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:文件就从版本库中被删除了。适合前端初学者的git实操总结--windows系统git教程(三)_第11张图片

tips:
先手动删除文件,然后使用git rm file 和git add file效果是一样的。
从来没有被添加到版本库就被删除的文件,是无法恢复的!

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:git reset --hard “HEAD^”
适合前端初学者的git实操总结--windows系统git教程(三)_第12张图片

小结
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么永远不用担心误删,但是只能恢复文件到最新版本,会丢失最近一次提交后修改的内容。

你可能感兴趣的:(git操作的系统教程,git,github,前端)