SourceTree拉取远程报错,详解:You have divergent branches and need to specify how to reconcile them.

git中有2种常见的版本控制命令,用于合并不同分支的更改。(默认为merge命令)

1.git merge:

将一个分支的更改合并到另一个分支。当你想将一个分支的更改合并到当前分支时,通常会使用git merge命令。

git merge创建一个新的提交,其中包含要合并的两个分支的更改。这个新的提交会有两个父提交,分别指向要合并的两个分支的最新提交。

合并后的提交历史会保留合并的信息,可以清楚地看到哪些提交来自哪个分支。

2.git rebase:

将一个分支的更改移动到另一个分支的顶端。通过重新基于(rebase)目标分支,你可以把你当前所在分支的更改在目标分支的最新提交之后重新应用一次。

git rebase会改变提交历史,它将使得你的提交历史看起来更加线性,因为它是将你当前的更改放在目标分支的顶端。

使用git rebase可以使提交历史更加整洁和易于理解,但也可能会产生冲突,需要手动解决。

选择使用git merge还是git rebase取决于你的团队的工作流和个人偏好。通常,如果你要合并公共分支(如 master)的更改到你的分支,你可能会选择git merge。而如果你希望保持提交历史的整洁和线性,你可能会选择git rebase。

总结:

git config --global pull.rebase true # 使用 rebase

git config --global pull.rebase false # 使用 merge

解决方案:

一般出现上述问题打开命令行输入:git config --global pull.rebase false 然后再次拉取代码即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容