关于Sourcetree克隆仓库提交图及Git相关问题的咨询
Git与Sourcetree常见问题解答
通用提交同步相关问题
- Sourcetree不会自动显示所有克隆者的提交。只有当对方把本地commit推送到共享远程仓库后,你通过拉取操作(Sourcetree的「拉取」按钮或
git pull命令)同步远程更新,才能看到这些提交。 - 朋友在本地的commit如果不推送到远程,你的Sourcetree完全不会知晓。Git是分布式系统,本地仓库和远程仓库默认相互独立,没有主动同步的话,两边的提交记录完全隔离。
- 你和朋友的Sourcetree不会始终一致。只要其中一方在本地做了提交但未推送,或者另一方未拉取远程更新,两边的提交历史就会出现差异;另外,各自本地创建的分支、标签等操作,只要没同步到远程,对方也看不到。
提交图细节解释
你刚克隆的仓库提交图有以下特点,逐一说明:
- 两个初始commit:这是用
git merge --allow-unrelated-histories合并两个完全独立仓库的结果——两个仓库原本没有共同的父提交,合并后就会出现两个无关联的根commit,属于Git允许的特殊合并场景。 - 看似无分支的合并操作:这个合并是把另一个根commit对应的历史合并到主分支(比如main/master),之所以看起来没有分支,是因为被合并的分支在完成合并后已经被删除,或者没有给该分支添加标签,所以Sourcetree的提交图里只显示了合并的连接线,没显示分支名称。
- 颜色的作用:Sourcetree里的颜色是用来区分不同分支的提交线,不同分支的提交会用不同颜色标注,帮你快速识别哪条提交流对应哪个分支,比如主分支的提交线可能用蓝色,被合并的分支用灰色,合并commit会连接两条不同颜色的线。
内容的提问来源于stack exchange,提问作者Cur Fromsky
相关产品推荐
相关产品推荐

