git学习笔记——git pull篇

git pull [remote] [branch]在一些情况下会出现问题,比如说分离分支等问题,其实git pull = git fetch + git mergegit fetch用来将远程仓库在当前git库中创建一个[remote]/[branch]远程分支,然后merge remote/[branch]将远程分支和本地分支合并。

git pull --rebase = git fetch + git rebase,rebase和merge是两种不同的合并方式,rebase是线性化,merge就是比较复杂的合并方式。rebase后,会生成新的commit版本,但是备注信息居然会沿用。而merge不会这样。

上述操作,实际运行时会有一些问题,比如你新建的git仓库,做git fetch操作时,会告诉你“没有共同提交”,再git merge时会报错“拒绝合并无关的历史”。

那该如何解决呢,其实主要就是git merge的问题,也可以避免merge而使用rebase,直接看代码:

git pull --rebase [remote] [branch] 
#或
git pull [remote] [branch] --allow-unrelated-histories
#或
git fetch [remote]
git merge [remote]/[branch] --allow-unrelated-histories

在这里插入图片描述

成功解决!

你可能感兴趣的:(git,git,学习,github)