Git进阶 — 2、Git-后悔药-回退撤销-revert
1. revert作用
Revert撤销一个提交的同时会创建一个新的提交。这是一个安全的方法,因为它不会重写提交历史。比如,下面的命令会找出倒数第二个提交,然后创建一个新的提交来撤销这些更改,然后把这个提交加入项目中。
相比git reset
,它不会改变现在的提交历史。因此,git revert
可以用在公共分支上,git reset
应该用在私有分支上。
你也可以把git revert
当作撤销已经提交的更改,而git reset HEAD
用来撤销没有提交的更改。
就像git checkout
一样,git revert
也有可能会重写文件。所以,但与git checkout
不同的是,Git会在你执行 revert
之前要求你提交或者缓存你工作目录中的更改。否则执行失败
2. work directory 安全的
1 |
|
没有文件模式
1 |
|
3. commit id
表示撤销commit id的内容,还原到这个commit id的前一次内容
比如还原到上一次版本,就是 git revert HEAD
4. 对commit历史的影响
命令 | log | reflog |
---|---|---|
git revert | 新增 | 可跟踪 |
git checkout | 无变化 | 无变化 |
git reset | 丢失 | 可跟踪 |
git restore | 无变化 | 无变化 |
git amend | 改变 | 改变 |
参考:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Taylor!
评论