作者回复: 👍,如果要解决的冲突很多,且比较复杂,用图形界面比较好。如果冲突的内容不多也就没必要了。
作者回复: 拿两个分支简单一点来说, git的merge命令,不会改变两个分支已有的版本历史,只会把两个分支合并后创建出一个新的commit出来。 git的rebase命令,假设当前在A分支,要基于B分支做rebase,那么,先找到A和B最近的公共祖先C1,从C1到A之间的所有commit,都基于B重新生成新的commit。看来,rebase通常会修改某个分支的历史。
作者回复: 好问题,没去深究过,除了同一行,也有不是同一行的情况。有时间的话,可以看看冲突的算法。
作者回复: Git只能处理文本文件的差异。Git也能管理二进制文件的版本,但提供不了二进制文件不同版本的具体差异。
作者回复: 补充得非常好。分支命名,公司项目中确实有项目是用人名+拉取说明的,GitHub开源项目分支名包含人名的倒没怎么看到过。