乐趣区

关于git:git-reset-和-git-revert

问题场景:

git push 谬误提交时撤销此次谬误提交

1.git reset:

原理:

批改 head 指针地位,将 head 指针指向之前的某个版本,指标版本

应用办法:

  1. git log 查看版本号,或者 gitlab 上查看版本号
  2. git reset –hard 指标版本号(此时本地 head 指针以指向之前的版本)
  3. git push -f 提交更改(如果用 git push 会报错,因为此时本地代码落后于近程仓库代码,所以用 git push - f 强推上去)

    2.git revert:

    原理:

    git revert 次要用于‘反做’某一个版本,罕用场景为两次先有后提交‘版本 2’和‘版本 3’,然而‘版本 2’中因为代码问题须要撤销提交,版本 3 中的提交又要保留。

应用办法:

  1. git log 查看版本号
  2. git revert -n 版本号(此版本号为须要摘除的版本号)
  3. 呈现抵触解决抵触。
  4. git add . (有抵触时)
  5. git commit -m
  6. git push

revert 其余相干:

1. 回滚某次提交
git revert commitId

2. 回滚屡次提交
git revert old-commitId^..new-commitId

如果咱们想把这三个 revert 不主动生成三个新的 commit,而是用一个 commit 实现,能够这样:
git revert -n old-commitId^..new-commitId

退出移动版