业务场景1——版本回退
#查看每次提交的id
git log --pretty=oneline
#根据id回退到指定的版本
git reset --hard id
#推送本地到远程,同步本地版本
git push origin HEAD --force
#若回退完发现又不用回退了,需要恢复先前的版本,则查看命令历史
git reflog
#切换版本
git reset --hard id(此id为reflog中需要的id)
业务场景2——低版本dev覆盖远程高版本master
注:setting-repository-protectd branch-master[unprotected]
#拉取dev远程最新代码
git pull origin dev
#强制将dev推到远程master
git push origin dev:master -f
git checkout master
#下载远程代码,不做合并
git fetch --all
#将head指向master最新版本
git reset --hard origin/master
业务场景3——本地新建分支并推到远程
# 本地新建分支
git checkout -b dev_whs
# 将本地新分支推到远程
git push --set-upstream origin dev_whs
# 将本地代码推到远程
# git push -u origin local_name:remoto_name
git push -u origin dev_whs:dev_whs
业务场景4——解决冲突
<<<<<<< HEAD
new new new new code
=======
old old old code
>>>>>>> xxxxxxxxxxxxxxxxxxxxxxx
分析:head 到 =======里面的lalala是自己的commit的内容
=========到 >>>>>>里面的hehehe是下拉的内容
根据需要删除代码就行了 完事把<<<<<<< ======= >>>>>>都删掉冲突就解决了
正常只保留 new new new new code 这一部分内容就行了
解决完冲突后:
git add .
git rebase --continue
业务场景5——重设远程仓库地址
git remote set-url origin 你新的远程仓库地址