Git命令对于已经commit没有push的撤回:git reset --soft 版本号(保留本地代码只回退到某个版本.可重新commit+push)

时间:2024-04-14 15:43:00

Git命令对于已经commit没有push的撤回:git reset --soft 版本号(保留本地代码只回退到某个版本.可重新commit+push)
Git命令对于已经commit没有push的撤回:git reset --soft 版本号(保留本地代码只回退到某个版本.可重新commit+push)
实际操作:
问题: 在我commit了但还没有push的时候,有其他小伙伴又push上去了,这样我再push的时候就会出现一次merge, 甚至也可能会有conflict
操作: 先取消上次我的commit, pull拉取其他人的push后,再重新commit+push

首先,通过git log 或者直接去GitHub上对应提交下面,拿到在我commit之前的最后一次push成功的版本号,先把本地代码回到这次的版本下面
Git命令对于已经commit没有push的撤回:git reset --soft 版本号(保留本地代码只回退到某个版本.可重新commit+push)
Git命令对于已经commit没有push的撤回:git reset --soft 版本号(保留本地代码只回退到某个版本.可重新commit+push)
通过 git reset --soft 版本号
可以实现保留本地代码,只回退到某个版本.如果还需要提交,重新commit即可.
Git命令对于已经commit没有push的撤回:git reset --soft 版本号(保留本地代码只回退到某个版本.可重新commit+push)
操作后,我本地原来pull的最新三次提交都变暗,现在的代码为回退版本号的那个版本,本地的所有代码改动也都还在
Git命令对于已经commit没有push的撤回:git reset --soft 版本号(保留本地代码只回退到某个版本.可重新commit+push)

然后重新git pull 拉取最新版代码后,重新commit+push即可