在Network Graph Visualizer上可视化重新定位的分支

时间:2014-01-07 01:33:22

标签: git github git-fork

我正在使用gitgithub开发一个项目,该项目有几个贡献者,每个项目都有自己的fork。

我最近在原始项目的master分支上进行了提交(merging一个名为chris-work的分支),然后(作为实验)重新基于其中一个分支(使用How do I update a GitHub forked repository?中的详细信息);这导致了这样的图片,其中fork显示为黄色。

screenshot

如果您想查看实时图表,则为here

新重新fork没有新的更改,并且应该(和)与主项目中的master分支完全相同,并且但它似乎在前面。

我确信这是预期的,但似乎要删除网络图中的fork我必须提交并merge一个(看似)多余的pull请求。有人可以解释更精细的细节,并帮助我理解这种行为?

1 个答案:

答案 0 :(得分:1)

Git提交ID(SHA-1哈希)是根据几条信息计算的,包括

  • 提交的内容,
  • 提交的父母,
  • 提交消息,
  • 提交的时间戳,
  • 可能有一些我忘了。

重要的是,许多位数据和元数据会影响生成的哈希值。如果有任何不同(至少在这种情况下为时间戳和父项),您将获得不同的哈希,这意味着不同的提交。如果它们有不同的哈希值,Git绝不会认为两个提交是平等的。

在这种情况下,您的有针对性的分支的提示标识为13c310f,而您的“真实master”的提示标识为2d51e9e

另请注意rebasing of published commits is strongly discouraged