问题1:
git add *****
git commit -m "0601"
git push origin master 报错,需要先pull
git pull origin master 报错fatal: refusing to merge unrelated histories
git push origin master 报错error: failed to push some refs to '
如遇到以上问题正确解决方法
$ git pull --rebase origin master
$ git push -u origin master
以下知识摘自万能的baidu
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase
git merge 和 git rebase 都是将远程分支与本地分支合并的一种方法,git merge 会生成一个新的节点,例如A和B都位于同一个HEAD,A提交了2个commit C1和C2,B 提交了2个commit C3和C4,git merge的结果是在C3和C4之后合并生成C5,这样提交历史比较清晰,但多了一个C5 。
假设A已经将C1和C2 push到了远程分支,那么B 使用git rebase则会将C3和C4缓存到.git/rebase中,恢复到之前的状态,更新C1和C2,然后再将C3和C4作为补丁应用到C2的状态上。结果如下: 原始状态->C1->C2->C3'->C4',C3'和C4'为git 根据C3和C4生成的补丁,log是一条直线,而且没有多余的C5,但是平行信息丢失。
本文详细解析了在使用Git进行版本控制时遇到的常见错误,包括如何解决fatal: refusing to merge unrelated histories的问题,以及如何通过使用git pull --rebase origin master和git push -u origin master来正确地合并分支。同时,对比了git merge和git rebase的不同之处,以及它们对提交历史的影响。
&spm=1001.2101.3001.5002&articleId=90732403&d=1&t=3&u=e73a606eea1f48b8a2ca19227528a061)
1917

被折叠的 条评论
为什么被折叠?



