git回退到历史版本纪实
lwk@qwfys:~/Public/project/hangzhou$ git clone git@qwfys.com:lwk/hello-world.git
Cloning into 'hello-world'...
remote: Counting objects: 17193, done.
remote: Compressing objects: 100% (7100/7100), done.
remote: Total 17193 (delta 7362), reused 13935 (delta 5659)
Receiving objects: 100% (17193/17193), 4.29 MiB | 2.25 MiB/s, done.
Resolving deltas: 100% (7362/7362), done.
lwk@qwfys:~/Public/project/hangzhou$ cd hello-world/
lwk@qwfys:~/Public/project/hangzhou/hello-world$ git reset --hard 9ef5c8d900973b7b237e671976ffdb1d4899ccdd
HEAD is now at 9ef5c8d9 Merge branch 'test' into 'master'
lwk@qwfys:~/Public/project/hangzhou/hello-world$ git push origin HEAD --force
Total 0 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To git@qwfys.com:lwk/hello-world.git
! [remote rejected] HEAD -> master (pre-receive hook declined)
error: failed to push some refs to 'git@qwfys.com:lwk/hello-world.git'
lwk@qwfys:~/Public/project/hangzhou/hello-world$ git push origin HEAD --force
Total 0 (delta 0), reused 0 (delta 0)
To git@qwfys.com:lwk/hello-world.git
+ 2322dbe7...9ef5c8d9 HEAD -> master (forced update)
lwk@qwfys:~/Public/project/hangzhou/hello-world$
说明,第16行,主要是gitlab中,将master设置成了保持分支,推送前需要先将其解除保护,然后再推送。