shiyuting

导航

Git的相关操作

1.问题:我经常就一个需求不停地更改。为了防止丢失,每次都会commit,最后导致我的commit记录特别多,难看又不好回溯,怎么办?

回答:

1.如果你目前修改的部分都是满意的,只是想要一次性commit,留一个commit记录--那么就选择undo commit---所有的修改都会保存

2.如果你觉得目前的修改很多地方都是错的,甚至你找不到错误的地方。为了方便,你想放弃当前的所有修改,回滚到上一个提交版本---选择drop commit,它会将上次commit之后所有的修改全部删除

3.revert的功能非常鸡肋,它会删除修改的代码-drop commit类似;但是它不会删除记录--解决不了记录太多的问题;坏处:还会增加新的commit记录-revert记录

 

2.我刚刚push了一版代码,但是我发现那版代码是错误的,如何才能回撤?

回答:

1.可以Git tools下面的git reset,选择hard-到指定的commit版本。不足:commit记录不会被删除,你甚至可以通过log看每次提交的记录以及文件的修改。

 

3.我发现我原本是要回滚到A的,但是不小心回滚到B,怎么办?

回答:

直接用git reset 指定B的commit id,就可以了,但是需要注意:

1.如果soft模式,回退看不出任何变化--因为当前所有的修改都会保存。

2.hard模式,所有commit之后的修改都会被删除,我推荐使用这种方式。如果不是之后的代码都是错,谁愿意回滚呢?

 

4.

posted on 2023-05-19 17:39  是sherry啊  阅读(14)  评论(0编辑  收藏  举报