git版本回退操及版本标记

回退原因:最新提交了一次错误代码(不符合要求),想要回到上一个版本

第一步:执行git log命令,查看提交记录,获取版本号(提交记录只显示最近三次,放大屏幕可看多次,也可手动回车依次往前查看,ctrl+c停止)

git版本回退操及版本标记_第1张图片

第二步:执行git reset --hard <版本号>命令,这样本地的代码就成功回退到了你想要的版本,再次git log,本地的记录也没了,但当重新status的时候发现远程有两个新提交的版本

git版本回退操及版本标记_第2张图片

第三部:执行git push -f命令 强制覆盖远程代码 之后再看远程提交记录 已经不存在了 已经回退到了和本地同样的版本 一切完成(有些 git server 不允许这样做,比如gitlab ,但是可以通过管理员开启)

2019.7.26更新

git版本回退操及版本标记_第3张图片

git版本回退操及版本标记_第4张图片

使用 git reset --hard 回退代码到某个版本之前,但是这样会有一个问题,你线上的代码没有变,线上commit,index都没有变,当你把本地代码修改完提交的时候你会发现全是冲突.....这时换下一种

git版本回退操及版本标记_第5张图片

git reset --hard   // 切换到已提交的版本 本地代码不变

git revert // 切换到该版本之前的状态 本地代码会带提交该版本之前

git revert --abort  // 撤销revert

git reset --soft HEAD^  // 撤销reset

标签相关:


$ git tag  // 展示本地所有标签
$ git show 0.0.1  // 展示指定标签信息
$ git tag -d 0.0.1  // 删除本地指定标签
$ git tag -a 1.0.3 -m "v1.0.3"  // 给 最新的一次提交 打标签
$ git tag -a 1.0.3 -m "v1.0.3" 1093adbe  // 给 指定的一次提交 打标签
$ git push origin 0.0.1  // 推送本地指定标签到远程
$ git push origin --tags  // 推送本地所有标签到远程

/*** 删除远程标签 ***/
$ git tag -d 0.0.1  // 先删除本地标签
$ git push origin :0.0.1  // 再删除远程标签

你可能感兴趣的:(git版本回退操及版本标记)