[英]How to send pull request on Git
我们最近从 SVN 迁移到 Git。 我们在 LAN 网络中的一台机器上设置了一个裸存储库,并在其他机器上克隆。 现在,当任何人进行更改和提交时,我们希望他将拉取请求发送到裸仓库(通过告知或发送电子邮件或任何其他方式),然后将 go 通过更改并将其拉到裸仓库(与它在GitHub)。
我们是否需要安装任何接口或者Git本身有一些命令?
Git(软件)和 GitHub(web 服务)都有一个名为“拉取请求”的概念,不幸的是它们并不完全相同。
原生的 Git request-pull
命令有一个很短的手册页,只有一句话描述:
总结对标准 output 的两次提交之间的更改,并在生成的摘要中包含给定的 URL。
这是一个相当低级的命令,它生成适合发布到邮件列表的更改的简短摘要。 其他用户可以使用此“拉取请求”中发布的 URL 手动将更改拉取到自己的存储库中。
使用GitHub web 服务时, Pull Request是一个功能齐全的交互式协作工具。 GitHub 拉取请求具有:
值得注意的是, Linus 对这两个功能的相对实用性有自己的看法。
上述两个“拉取请求”特性在精神上相似,但在实现上完全不同。 特别是, git request-pull
命令不能用于在 GitHub 上创建新的 Pull Request。 如果您想支持“拉取请求”类型的功能,您有多种选择:
git request-pull
和邮件列表。 使用这种方法需要您的工程师更加自律,因为很容易放错地方或错误处理邮件列表消息。 没有与此方法相关的中央问责制。术语“拉取请求”不是github 特定术语。
有一个 git request-pull 命令,你可以在这里阅读更多信息: http://linux.die.net/man/1/git-request-pull
对于一些更深入的解释,并为您节省一些谷歌搜索:
顺便说一句,这不是一个新功能。
编辑:这个替代答案是在@Greg Hewgill 最初接受的答案被重写之前做出的。 我发布它是因为这是我一直在寻找的答案,而且我认为它适合关于不需要使用 github 的用户进行拉取请求的问题(是的,不是每个使用 git 的人都使用 ZBF215181B4140522437B3,至少不是所有的时间 673)。 既然原始答案已被重写,使这种差异变得明确,我将按照我最初发布它的方式留下这个答案,仅供记录。
这样做的“git方式”将是所有开发人员在服务器上都有自己的公共裸存储库(读取所有人的访问权限,为开发人员自己编写访问权限)作为他们的“来源”。 如果你喜欢一个额外的“主干”(或“稳定”或任何你想称之为的)裸仓库,一些或所有开发人员都可以写访问。 开发人员将他们的 repo 镜像到他们的公共 repo 上,并从其他开发人员那里拉取。 这样一来,如果您将某些内容推送到您的公共 repo 中,您就不必担心它还不起作用。 (开发人员可以从你那里拉到一个测试分支,看看它是否有效。)当你有一个稳定的规范分支时,你可以将它推送到“主干”存储库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.