我们最近从SVN迁移到Git。我们在LAN网络中的一台机器上设置了一个裸存储库,并在其他机器上克隆。现在,当任何人进行更改和提交时,我们希望他将拉取请求发送到裸仓库(通过告知或通过电子邮件或任何其他方式)之后,将通过更改并将其拉到裸存储库(同样适用于它) GitHub的)。
我们是否需要安装任何接口或Git本身有一些命令?
答案 0 :(得分:75)
Git(软件)和GitHub(Web服务)都有一个名为“拉取请求”的概念,不幸的是它们并不完全相同。
本机Git request-pull
命令的manual page非常短{{}},其中包含以下单句描述:
总结两次提交到标准输出之间的更改,并在生成的摘要中包含给定的URL。
这是一个相当低级别的命令,可生成适合发布到邮件列表的更改的简短摘要。其他用户可以使用此“拉取请求”中发布的URL手动将更改添加到他们自己的存储库中。
使用GitHub web service时,Pull Request是一个全功能的互动协作工具。 GitHub拉取请求有:
值得注意的是Linus has his own opinion关于这两个特征的相对效用。
上述两个“拉动请求”特征在精神上类似,但在实现上完全不同。特别是,git request-pull
命令不能用于在GitHub上创建新的Pull请求。如果要支持“拉取请求”类型功能,可以有多种选择:
git request-pull
和邮件列表。使用这种方法需要工程师更多的纪律,因为它很容易错位或错误处理邮件列表消息。这种方法没有中心责任。答案 1 :(得分:57)
术语"拉取请求"是不 github特定术语。
有一个git request-pull命令,你可以在这里阅读更多相关信息: http://linux.die.net/man/1/git-request-pull
对于一些更深入的解释并节省一些谷歌搜索:
这不是BTW的新功能。
编辑:这个替代答案是在@Greg Hewgill最初接受的答案被重写之前做出的。我发布它是因为 这是我正在寻找的答案,我认为它适合 问的问题是没有为用户做拉动请求 necesarilly使用github(是的,不是每个人都使用git使用github,at 至少不是所有的时间)。现在,重写了原始答案 明确地说明这一点我将把这个答案留给我 最初发布它只是为了记录。
答案 2 :(得分:10)
执行此操作的“git方式”是所有开发人员都将自己的公共裸存储库(读取所有访问权限,开发人员自己的写访问权限)作为其“来源”。如果你喜欢一个额外的“主干”(或“稳定”或任何你想要的东西),那么一些或所有开发人员都可以使用写入权限。开发人员在他们的公共回购中反映他们的回购,并从其他开发人员那里获取。这样你就不用担心,如果你把一些东西推到你的公共仓库还没有用。 (开发人员可以从您那里拉到测试分支,看看它是否有效。)当您拥有一个稳定的规范分支时,您可以将其推送到“主干”仓库。