Github 会计算通过 -no-ff merge(不是快进)合并的分支的贡献吗?
Will Github count contributions from branches merged by -no-ff merge (not fast forward)?
Github 关于 problems with contributions 的文章没有关于 --no-ff
合并的文字。
我找到了一些答案in this reddit thread,但过程对我来说还不是很清楚。
编辑: 例如我在功能分支中做了一些提交,然后我将这个分支与主分支合并了。 Github 会计算我个人资料中来自功能分支的所有提交还是仅计算合并提交?
首先想一想 --no-ff
的逆运算意味着什么:您正在进行快进合并。
现在什么是快进合并?从本质上讲,这意味着您只是在推进分支指针而不实际创建任何提交。由于提交是记录贡献的东西(因为它们持有 author/committer 信息),所以快进显然不会导致对存储库的可见提交贡献。
常见的存储库托管解决方案会跟踪对存储库的推送,因此您对分支的更新推送 可以 记录为贡献,但这通常不会完成,因为它不是可记录在存储库本身中。
因此,在查看非快进合并时,这是您实际创建合并两个(或更多)不同分支的合并提交的地方。 merge commit,作为一个普通的commit,会妥善记录committer和author信息,算作贡献。
那么现在让我们看看 GitHub 写了什么算作贡献:
Commits will appear on your contributions graph if they meet all of the following conditions:
- The email address used for the commits is associated with your GitHub account.
- The commits were made in a standalone repository, not a fork.
- The commits were made:
- In the repository's default branch (usually
master
)
- In the
gh-pages
branch (for repositories with Project Pages sites)
条件 1 由您的本地 Git 配置以及您设置 GitHub 帐户的方式处理。 2 是不言自明的,而 3 本质上要求合并提交落在默认分支中。如果您要与 master 合并,这将有效。
In addition, at least one of the following must be true:
- You are a collaborator on the repository or are a member of the organization that owns the repository.
- You have forked the repository.
- You have opened a pull request or issue in the repository.
- You have starred the repository.
如果您对存储库有某种推送访问权限(直接访问,或作为拉取请求的一部分),也应该保证其中一个。
所以是的,合并提交应该算作贡献。
Github 关于 problems with contributions 的文章没有关于 --no-ff
合并的文字。
我找到了一些答案in this reddit thread,但过程对我来说还不是很清楚。
编辑: 例如我在功能分支中做了一些提交,然后我将这个分支与主分支合并了。 Github 会计算我个人资料中来自功能分支的所有提交还是仅计算合并提交?
首先想一想 --no-ff
的逆运算意味着什么:您正在进行快进合并。
现在什么是快进合并?从本质上讲,这意味着您只是在推进分支指针而不实际创建任何提交。由于提交是记录贡献的东西(因为它们持有 author/committer 信息),所以快进显然不会导致对存储库的可见提交贡献。
常见的存储库托管解决方案会跟踪对存储库的推送,因此您对分支的更新推送 可以 记录为贡献,但这通常不会完成,因为它不是可记录在存储库本身中。
因此,在查看非快进合并时,这是您实际创建合并两个(或更多)不同分支的合并提交的地方。 merge commit,作为一个普通的commit,会妥善记录committer和author信息,算作贡献。
那么现在让我们看看 GitHub 写了什么算作贡献:
Commits will appear on your contributions graph if they meet all of the following conditions:
- The email address used for the commits is associated with your GitHub account.
- The commits were made in a standalone repository, not a fork.
- The commits were made:
- In the repository's default branch (usually
master
)- In the
gh-pages
branch (for repositories with Project Pages sites)
条件 1 由您的本地 Git 配置以及您设置 GitHub 帐户的方式处理。 2 是不言自明的,而 3 本质上要求合并提交落在默认分支中。如果您要与 master 合并,这将有效。
In addition, at least one of the following must be true:
- You are a collaborator on the repository or are a member of the organization that owns the repository.
- You have forked the repository.
- You have opened a pull request or issue in the repository.
- You have starred the repository.
如果您对存储库有某种推送访问权限(直接访问,或作为拉取请求的一部分),也应该保证其中一个。
所以是的,合并提交应该算作贡献。