Github将计算由-no-ff merge合并的分支(不是快进)的贡献吗?

时间:2017-08-01 16:18:55

标签: git github git-merge fast-forward

关于problems with contributions的Github文章没有关于--no-ff合并的说法。

我找到了一些答案in this reddit thread,但过程对我来说仍然不明确。

编辑:例如我在功能分支中做了一些提交,然后我将这个分支与主分支合并。 Github会计算我的个人资料中的功能分支的所有提交还是只计算合并提交?

1 个答案:

答案 0 :(得分:3)

首先考虑--no-ff的反转是什么意思:你正在进行快速合并。

现在什么是快进合并?从本质上讲,这意味着您只是在不实际创建任何提交的情况下推进分支指针。由于提交是记录贡献的东西(因为它们保存了作者/提交者信息),因此快速转发显然不会导致对存储库的可见提交贡献。

公共存储库托管解决方案会跟踪推送到存储库,因此您对分支的更新推送可以记录为贡献,但通常不会这样做,因为它不能在存储库本身中记录

因此,在查看非快进合并时,您可以实际创建一个合并提交,其中包含两个(或更多个)不同的分支。合并提交,只是一个正常的提交,将正确记录提交者和作者信息,因此这可以算作贡献。

现在让我们来看看GitHub写的关于什么算作贡献的内容:

  

如果提交符合以下条件的全部,则会在您的贡献图表上显示:

     
      
  1. 用于提交的电子邮件地址与您的GitHub帐户相关联。
  2.   
  3. 提交是在独立的存储库中进行的,而不是fork。
  4.   
  5. 提交的内容如下:      
        
    • 在存储库的默认分支(通常为master
    • 中   
    • gh-pages分支(对于Project Pages sites的存储库)
    •   
  6.   

条件1由您的本地Git配置以及您如何设置GitHub帐户来处理。 2是不言自明的,3基本上要求合并提交落在默认分支中。如果你正在与master合并,这将有效。

  

此外,必须至少满足下列条件之一:

     
      
  1. 您是存储库中的协作者,或者是拥有存储库的组织的成员。
  2.   
  3. 你已经分叉了存储库。
  4.   
  5. 您已在存储库中打开了拉取请求或问题。
  6.   
  7. 您已为存储库加了星号。
  8.   

如果您对存储库有某种推送访问权限(直接或作为拉取请求的一部分),也应该保证其中一个。

所以是的,合并提交应该算作贡献。