当前位置:   article > 正文

GIT 撤销与回滚_git rollback commit

git rollback commit

        git 相信大家都会用,但是大家有没有遇到过,不小心把不该提交的文件 commit 了

        小编整理了一些我在开发中常见的使用场景,供大家参考

场景一

        糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作

        这种场景称为撤销

1 文件被修改了,但是还没有 git add

  1. git checkout fileName
  2. # 或者直接撤销当前目录下的全部文件
  3. git checkout .

2 对文件执行了 git add 操作,想撤销一部分文件

  1. # 取消暂存
  2. git reset HEAD fileName
  3. # 撤销修改
  4. git checkout fileName

3 修改的文件已经被 commit,但是不想产生新的 commit

  1. # 修改最后一次提交
  2. git add a.txt
  3. git commit --amend -m "说明"

4 已经本地进行了多次 git commit 操作,现在想撤销其中某次 commit

git reset commit_id|HEAD

场景二

        彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码

        这种场景称为回滚

        注意:对远程仓库做回滚操作是有风险的,需提前做好备份和通知其他团队成员!

1 如果更新线上会打 tag,那么可以很快处理上述情况

git checkout <tag>

2 撤销指定文件到指定版本

  1. # 查看指定文件的历史版本
  2. git log <filename>
  3. # 回滚到指定commitID
  4. git checkout <commitID> <filename>

3 删除最后一次远程提交

  1. # 使用 revert
  2. git revert HEAD
  3. git push origin master

场景三

        刚才我发现之前的某次提交太愚蠢了,现在想要干掉它

  1. # 使用 reset
  2. git reset --hard HEAD^
  3. git push origin master -f

revert是放弃指定提交的修改,但是会生成一次新的提交,以前的历史记录都在;

reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。

参考资料

Git撤销&回滚操作(git reset 和 get revert) - 云+社区 - 腾讯云俗话说,老虎也有打盹的时候。我们提交代码,也会有出错的时候。我今天不小心把不该提交的文件给提交了。icon-default.png?t=M276https://cloud.tencent.com/developer/article/1582800

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/734836
推荐阅读
  

闽ICP备14008679号