bul*_*ley 35 git gitorious pull-request
我正在使用Gitorious的防火墙后安装.
我可以进入Web应用程序并从克隆创建拉取请求并定位克隆它的主仓库.
我希望能够在命令行上执行此操作.更具体地说,我希望能够从命令行从一个分支到另一个分支(而不是从克隆到种子仓库)打开合并请求.
由于我没有使用Github,我不能使用Github特定的工具或库.这可能吗?
eck*_*kes 74
在通过svick给出的答案是不正确的.这是可能的.
还有git request-pull
这是Git的套件的一部分.使用该命令行工具,您可以创建可以按电子邮件发送的拉取请求.
示例:
您origin
拥有一个分支master
.现在,您创建一个本地fix
错误修复分支,实现错误修复并将该fix
分支推送到origin
:
git push origin fix:fix
Run Code Online (Sandbox Code Playgroud)
然后,您希望有人将fix
分支中所做的更改合并到master
.使用创建拉取请求
git request-pull master origin
Run Code Online (Sandbox Code Playgroud)
这将创建一个格式如下的文本:
The following changes since commit <SHA of master>:
<commit message of SHA of mster>
are available in the git repository at:
<repo location> fix
<User Name> (<Number of Commits>):
<messages of the commits>
...
<changed files>
...
<file statistics>
Run Code Online (Sandbox Code Playgroud)
如果合并请求将发送给无法访问您推送更改的仓库的人,那么总是有机会这样做git format-patch
.
将fix
分支推送到origin
(您甚至不需要这样做)后,在fix
分支上创建补丁时使用
git format-patch master..
Run Code Online (Sandbox Code Playgroud)
这将为您在fix
分支后执行的每个提交创建一个补丁文件master
.您可以使用生成的.patch
文件捆绑
tar czf fix.tgz *.patch
Run Code Online (Sandbox Code Playgroud)
然后通过电子邮件发送给某人进行审核和申请.
为了完整起见:可以使用补丁来应用补丁git am
.
Ali*_*ade 18
Gitlab 从 v11.10 开始添加此功能。提交您的最终更改后,而不是push
简单地使用:
git push -o merge_request.create
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令行工具:https : //github.com/brauliobo/gitorious-merge-request
./gitorious-merge-request -e brauliobo@gmail.com -s 'test' -r '~brauliobo/noosfero/brauliobos-noosfero' -a easysafeinstall -b master -t 'noosfero/noosfero'
Run Code Online (Sandbox Code Playgroud)