git使用学习五、git将远程仓库分支与本地分支融合
前言
- 前言
- 两步法
- 一步法
本篇记录一下把远程仓库分支拉取到本地并与本地分支融合。
两步法通过git fetch
,git merge
两步,先拉取,再合并。
首先关联一下本地与远程仓库(之前的博客写过):
git remote add origin git@github.com:xxx/xxx.git
拉取需要的远程分支,会在本地获得一个FETCH_HEAD
链接,该链接指向被拉取得分支:
# 从远程仓库把xxx分支拉取下来
git fetch origin xxx
然后与本地分支合并:
# 与本地分支xxx合并
git merge FETCH_HEAD xxx
注意:有时会报fatal: refusing to merge unrelated histories
,也就是说远程分支与本地分支是两个不同的版本,此时可以这样合并:
# 允许不相关版本合并
git merge FETCH_HEAD xxx --allow-unrelated-histories
如果需要再远程更新合并版本,那么最后再git push
就行了:
# 向远程仓库yyy分支推送本地xxx分支
git push -u origin xxx:yyy
一步法
使用git pull
直接拉取远程分支并合并本地分支:
# 拉取远程仓库yyy分支并与本地分支xxx合并
git pull origin yyy:xxx
如果git报! [rejected] xxxxxxxxxxxxxxxxx (non-fast-forward)
的错误,那么就要使用两步法来拉取合并。
git pull
也可能出现fatal: refusing to merge unrelated histories
,同样还是用--allow-unrelated-histories
处理:
git pull origin yyy:xxx --allow-unrelated-histories