美文网首页
git reset & revert 使用

git reset & revert 使用

作者: 四爷在此 | 来源:发表于2018-11-26 13:52 被阅读25次

简单记录下,不写容易忘。

今天不小心在git add 的时候提交了几个本地文件,并且顺手commit 了, 但所幸还没有push。这种时候如果需要在本地重置到最近一个错误commit 之前,就需要用到 reset 命令。

git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

git reset 基本有两个用法,一个常用的就是 git reset [files], 这个是用在git add 了不需要的文件,而要把这些文件reset 到working directory 里面的时候。比如:

git add src/
git reset src/temp/

这就把temp 文件夹下的文件从staged 重置到working dir 中。

git reset 的另外一种救命做法,以应对错误commit 的情况。比如要把刚才错误提交的 test additional files 这条 commit 重置到workspace, 那么应该给reset 命令传入红框所示commit 的前一个commitHash,并且用--soft 表示,需要保留所有的修改到暂存区,这样就可以进一步reset 错误提交的文件。

image.png

git reset --soft 12ddf14b6019a197dcce7781bd59ea31e93fb16c

注意 git reset --mixed 是默认选项,保留所有修改的文件,并且没有marked 为待commit 的文件,需要再次 add。 --hard 是丢弃本次所有修改,需要慎重使用。 另外,git reset 是用于还没有git push 的本地commit 。

参考文档: https://git-scm.com/docs/git-reset

相关文章

网友评论

      本文标题:git reset & revert 使用

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