https://www.cnblogs.com/chris0710/p/8925977.html
https://blog.csdn.net/DDD_QQQ/article/details/95485626
三、将远程git仓库里的指定分支拉取到本地(本地不存在的分支)
当我想从远程仓库里拉取一条本地不存在的分支时:
git checkout -b 本地分支名 origin/远程分支名
这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。
例如远程仓库里有个分支dev2,我本地没有该分支,我要把dev2拉到我本地:
若成功,将会在本地创建新分支dev2,并自动切到dev2上。
如果出现提示:
fatal: Cannot update paths and switch to branch 'dev2' at the same time. Did you intend to checkout 'origin/dev2' which can not be resolved as commit?
表示拉取不成功。我们需要先执行
git fetch
然后再执行
git checkout -b 本地分支名 origin/远程分支名
git强制提交本地分支覆盖远程分支
git push origin 分支名 --force
git强制远程分支覆盖本地分支
git fetch --all
git reset --hard origin/master (这里master要修改为对应的分支名)
git pull
git 一个分支完全覆盖master
1.1 git push origin develop:master -f
把本地的 develop 分支强制(-f)推送到远程 master
但是上面操作,本地的 master 分支还是旧的,通常来说应该在本地做好修改再去 push 到远端,所以我推荐如下操作
1.2 git checkout master
切换到旧的分支
1.3 git reset --hard develop
将本地的旧分支 master 重置成 develop
1.4 git push origin master --force
再推送到远程仓库