美文网首页
git reset与git revert

git reset与git revert

作者: 阿猪_341c | 来源:发表于2019-05-17 21:12 被阅读0次

git reset中有三个命令(--hard、--soft与--mixed);主要用于工作区、暂存区、本地仓库三个区域的文件提交撤回。

在将文件提交至远程端时,文件的提交需要经过git addgit commitgit push三个过程才能提交至git远程仓库。我们平时修改文件在工作目录中,提交时先使用git add提交至暂存区,再通过git commit提交至本地仓库,最后才能使用git push提交至GitHub。git reset的三个命令就是用于本地的文件区域撤回。

git reset --soft xxx(commit操作的哈希ID)

git reset --soft xxx 用于将文件提交至本地仓库后撤回暂存区的操作。

  • 我们先创建几个文件,并将其中的部分添加至本地仓库 在这里插入图片描述
  • 在这里可以使用git log来查看commit的操作行为哈希ID 在这里插入图片描述
  • 使用git reset --sofet xxx后使用git status查看暂存区文件111.md 222.md已回 在这里插入图片描述

git reset --mixed xxx 用于将本地仓库文件撤回至工作区,具体操作参照git reset --soft

git reset --hard xxx 会将工作区、暂存区、本地仓库的所有提交的文件全都撤销(包括工作区文件,会删除)

下面我们来验证一下

  • 我们将文件 111.md,222.md,333.md 添加至暂存区并重复之前的git commit添加操作 在这里插入图片描述
    -使用git reset --hard后可以看到在暂存区与工作区都没有了之前添加的文件 在这里插入图片描述
    而且回收站也没有哦!

git reset是git中一个比较重要的命令,不过git reset --hard慎用哦!

git revert是一种反做命令,比如你commit提交了一个文件,如果用上的话就相当于是撤回了这个文件,但是他有一个不同的就是可以跨过已提交的版本

  • 我们在这里创建 111.md 222.md 333.md 几个文件并各自单独添加并提交 在这里插入图片描述
  • 提交完成后我们git revert xxx提交 111.md 的版本 在这里插入图片描述
  • 提交之后可以通过push到git上来验证是否成功 在这里插入图片描述
  • 可看到 111.md 是未提交至GitHub上的,这也证实了之前提交的 111.md 文件被反提交,而 222.md 与 333.md 的提交并未受影响。

相关文章

网友评论

      本文标题:git reset与git revert

      本文链接:https://www.haomeiwen.com/subject/pqsaaqtx.html