关于git的reset、checkout、revert
https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting/file-level-operations
最近不小心在自己的git branch上误提交了一些改动,想回到之前的状态(就是working directory还是commit后的状态,但commit history往回退一个版本,所有改动还没有放到stage上)。搜了一些文章,上面的文章应该讲的比较详细(以上的git教程看起来也不错,可以留用)。
大体说来,这三个命令用于整个commit时:
reset是直接将commit往回退,branch的指针也随之改变,而之前的commit则作为废弃的供垃圾回收清除。同时可以通过--soft --mixed --hard选项控制对stage area和working directory的修改;
checkout是将commit往回退,但branch指针不变;
revert是在当前commit之上,让新提交的commit与指定的commit相同,但同时保留之前commit的历史,即指针不回退。
checkout和revert貌似是强制改动working directory和stage area。
看起来我的情况只能先在我当前的状态下新建一个branch保存当前的状态,然后使用reset --mixed回退到之前的状态了。
不知道有没有更好的方法。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
