git 远程仓库强制回滚

方法一:
1、新建backup分支 作为备份,以防万一
git branch backup

2、将本地的backup分支 推送到远程的backup
git push origin backup:backup

3、本地仓库彻底回退到xxxxx版本,xxxxx版本之后的commit信息将丢失

git reset --hard xxxxx

4、删除远程的master分支 (注意master前有个:)
git push origin :master

主要远程仓库的master如果是保护分支将报错,请去掉对分支的保护设置:
remote: GitLab: You are allowed to deleted protected branches from this project. To http://gitlab.mogujie.org/shihao/afanty.git ! [remote rejected] master (pre-receive hook declined) error: failed to push some refs to ‘http://gitlab.mogujie.org/xxxx/xxxx.git’

5、重新创建远程master分支(这跟第1次提交本地代码库给远程仓库的命令一样)
git push origin master

方法二:
1、本地代码回滚到上一版本(或者指定版本)git reset --soft HEAD~1
2、撤销 add 的内容 git reset [file/dir]
3、撤销 commit 的内容 git reset --soft HEAD^
4、加入-f参数,强制提交,远程端将强制跟新到reset版本 git push -f

git remote add upstream https://…
git fetch upstream
git checkout -b [b1] upstream/[b2]

git diff b1 b2 --stat
git diff b1 b2 [filename]
git diff b1 b2

git pull <远程主机名> <远程分支名>:<本地分支名>
git fetch origin master //从远程主机的master分支拉取最新内容
git merge FETCH_HEAD //将拉取下来的最新内容合并到当前所在的分支中

你可能感兴趣的:(GIT,git)