2

我可以让用户成为开源项目的用户,克隆项目,分支到功能分支,进行更改,通过在当前工作分支之上重新构建他们的代码进行测试,然后推送,对于拉取请求,他们的功能分支所以我可以将他们的更改重新纳入我的工作吗?(不确定大多数开源社区是否真的是这样工作的......)

所以它看起来像这样:

Project On Github
     |
Clone Project
     |
git checkout branch x.x
git checkout -b new_feature
... Add some code/fix some issues .. TDD is a must
git commit // Commit your stuff.
git checkout branch x.x
git rebase new_feature
.. Rebaseing ...
.. Test to make sure it works // unit tests :D ..
git checkout branch new_feature
     |
submit this branch, new_feature, as a pull request
     |
I see new branch, I review, I rebase or reject.

这是一种典型的工作流程吗?或者大多数开源社区如何处理这个问题,意识到这个问题是模棱两可的并且可能导致这个问题被关闭,假设它是你的开源项目,你将如何处理这种情况?这是一种“标准”的做法吗?

4

1 回答 1

0

回答你问题的第一部分:是的。

他们可以克隆吗?是的,他们可以克隆任何公共存储库。
他们可以创建分支吗?是的,他们可以分支任何克隆的存储库。
可以做出改变吗?是的,他们可以分支任何克隆的存储库。
可以通过在当前工作分支上重新定位来进行测试吗?是的,使用 git 的开发人员通常会在开始工作之前检查他们有兴趣编辑的分支,然后在此基础上生成提交,而无需变基(目前)。
他们可以发送拉取请求吗?GitHub 允许他们创建拉取请求

然后,您可以合并拉取请求拒绝/删除拉取请求

As GitHub documentation describes, Approvers (devs with write permissions on the main repository) can either merge the pull request from the web, or checkout the pull request and work on it (modify it, rebase it, whatever you like) and then push the accepted changes.

To answer your second part: IMO this is a good way to receive code contributions from other professionals on the internet.

于 2013-09-27T16:06:17.963 回答