我非常喜欢用于分布式软件开发协作的github pull-request方法。它允许讨论和代码审查。
我的目标是使用相同的流但在我们的存储库中没有github。我不想分开这个项目。
让我们想象一下,我在本地开发了一个很棒的功能。我想在我的主分支上发出拉取请求以强制进行代码审查。
A---B---C feature/awesomeFeature
/
D---E---F---G origin/master
master
是否可以在origin / master上发出拉取请求?
我试了git request-pull feature/awesomeFeature origin
但没有成功
答案 0 :(得分:23)
如果您在本地开发了功能分支,则只需使用:
git request-pull origin/master feature/awesomeFeature
这只会为您提供更改摘要。如果您需要每个细节,请记住将-p
(用于补丁)添加到命令行。
答案 1 :(得分:3)
拉取请求实际上并没有在git中实现,所以你需要另一个系统来坐在git之上。如果您想自己托管您的存储库,可以使用GitLab之类的软件来管理您的存储库并允许您进行提取请求。
答案 2 :(得分:0)
是否可以对
origin/master
发出拉取请求?
只要origin/master
是有效分支,就可以。
但是在Git 2.23(2019年第三季度)中,“ git request-pull
”学会了警告,当我们要求他们从本地存储库和已发布存储库中提取的引用不同时。
请参见commit 0454220的commit 5731dfc,Paolo Bonzini (bonzini
)(2019年5月28日)。
(由Junio C Hamano -- gitster
--在commit dedc046中合并,2019年6月17日)
request-pull
:如果远程对象与本地对象不同,则发出警告在某些情况下,
git request-pull
可能会被指向不同的远程和本地对象调用,即使它们指向同一提交。
例如,远程对象可能是轻量级标签,而本地端可能是带注释的标签。否则用户可能已经在本地重新标记了标签,却忘记了将其推送。发生这种情况时,
git-request-pull
将不会发出警告,因为它仅检查“git ls-remote
”是否返回与本地提交(在脚本中称为$headrev
)相匹配的SHA1。此修补程序使
git-request-pull
在处理时检索标签对象SHA1 “git ls-remote
”输出,以便可以与本地对象匹配。