功能分支和拉请求-Git

功能分支和拉请求-Git,git,github,open-source,rebase,Git,Github,Open Source,Rebase,我是否可以让开放源代码项目的用户克隆项目,分支到功能分支,进行更改,通过在当前工作分支上重定其代码的位置进行测试,然后针对拉式请求推送其功能分支,以便我可以将其更改重定到我的工作中?(不确定这是否是大多数开源社区实际工作的方式…) 所以看起来是这样的: Project On Github | Clone Project | git checkout branch x.x git checkout -b new_feature ... Add some code/fix som

我是否可以让开放源代码项目的用户克隆项目,分支到功能分支,进行更改,通过在当前工作分支上重定其代码的位置进行测试,然后针对拉式请求推送其功能分支,以便我可以将其更改重定到我的工作中?(不确定这是否是大多数开源社区实际工作的方式…)

所以看起来是这样的:

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.

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

回答问题的第一部分:是

他们能克隆吗?是的,他们可以克隆任何公共存储库。
他们能创建分支吗?是的,他们可以分支任何克隆的存储库。
你能做些改变吗?是的,他们可以分支任何克隆的存储库。
可以通过在当前工作分支的顶部重定基来进行测试吗?是的,使用git的开发人员通常在开始工作之前签出他们感兴趣编辑的分支,然后在此基础上生成提交,而无需重新设置基础。
他们能发送请求吗?GitHub允许他们

然后,你可以选择或

正如GitHub文档所描述的,审批者(在主存储库上具有写权限的开发人员)可以从web合并拉取请求,或者签出拉取请求并处理它(修改它、重新设置它的基础,无论您喜欢什么),然后推送接受的更改


回答你的第二部分:在我看来,这是一个从互联网上的其他专业人士那里获得代码贡献的好方法。

这并不能以任何形式回答我的问题。我的问题很简单:最好的做法是让用户提交他们的功能分支,而不是提交他们的功能分支,在工作分支的基础上重新调整他们的工作,然后提交新的“工作分支”。好吧,这听起来更像是一个合适的问题,而不是公开帖子上的问题。如果您阅读GitHub上的“创建拉请求”页面,您会意识到他们总是需要创建一个分支:
在您打开拉请求之前,您必须在本地存储库中创建一个分支,提交它,然后将该分支推送到GitHub上的存储库或分支。
。您将是决定是否需要合并或重新设置更改的人,而不是他们。