我想在我的团队中采用git-flow工具。问题是“git flow feature finish”会在本地合并分支,而我想创建一个拉取请求,这样合并就会发生在源节点。那么,在同时处理拉式请求的团队中,使用git-flow工具的正确方法是什么呢?试着在谷歌上搜索,但找不到有意义的东西。
omhiaaxx1#
你可以直接使用git flow feature publish <name>,这会将你的特性分支发布到你的源节点(比如Bitbucket),然后你可以在那里创建pull请求并将其合并到develop中,完成后,你需要手动删除本地特性分支。唯一不能使用的命令是git flow feature finish <name>,这个命令相当好用,你仍然可以使用大多数git流助手。发布版本也是如此。我发现这篇文章很有帮助:https://blog.axosoft.com/pull-requests-gitflow/以及https://community.atlassian.com/t5/Bitbucket-questions/git-flow-feature-finish-and-pull-request/qaq-p/347877希望这能有一点帮助。这个问题没有一个完美的解决方案。
git flow feature publish <name>
git flow feature finish <name>
l2osamch2#
这个问题有一个很好的解决方案,但它确实需要一个自定义脚本,因为PRAPI对每个平台都是唯一的。AVH版本的git-flow有一些额外的特性:https://github.com/petervanderdoes/gitflow-avh它支持钩子(自定义脚本):https://github.com/petervanderdoes/gitflow-avh/wiki/Reference:-Hooks-and-Filters#hooks您可以使用以下方法在Mac上切换到AVH版本:
brew uninstall git-flow brew install git-flow-avh
要在git flow中支持拉取请求,您可以添加一个脚本:
.git/hooks/post-flow-feature-publish.sh
post-flow-feature-publish.sh脚本输出url示例:
post-flow-feature-publish.sh
#!/bin/sh branch=$(git rev-parse --abbrev-ref HEAD) userRepo=$(git remote -v | grep fetch | awk '{print $2}' | grep "github.com" | cut -d':' -f2 | rev | cut -c5- | rev) if [ -n "$userRepo" ] then echo "" echo "Create PR at: https://github.com/$userRepo/compare/$branch?expand=1" echo "" fi
或者如果使用GitHub CLI,您可以调用:gh pr createhttps://cli.github.com/manual/gh_pr_create现在运行命令时:
gh pr create
git flow feature my-feature publish
Git flow会将代码推送到特性分支,并调用钩子脚本来创建PR。
2条答案
按热度按时间omhiaaxx1#
你可以直接使用
git flow feature publish <name>
,这会将你的特性分支发布到你的源节点(比如Bitbucket),然后你可以在那里创建pull请求并将其合并到develop中,完成后,你需要手动删除本地特性分支。唯一不能使用的命令是
git flow feature finish <name>
,这个命令相当好用,你仍然可以使用大多数git流助手。发布版本也是如此。我发现这篇文章很有帮助:https://blog.axosoft.com/pull-requests-gitflow/
以及https://community.atlassian.com/t5/Bitbucket-questions/git-flow-feature-finish-and-pull-request/qaq-p/347877
希望这能有一点帮助。这个问题没有一个完美的解决方案。
l2osamch2#
这个问题有一个很好的解决方案,但它确实需要一个自定义脚本,因为PRAPI对每个平台都是唯一的。
AVH版本的git-flow有一些额外的特性:https://github.com/petervanderdoes/gitflow-avh
它支持钩子(自定义脚本):https://github.com/petervanderdoes/gitflow-avh/wiki/Reference:-Hooks-and-Filters#hooks
您可以使用以下方法在Mac上切换到AVH版本:
要在git flow中支持拉取请求,您可以添加一个脚本:
post-flow-feature-publish.sh
脚本输出url示例:或者如果使用GitHub CLI,您可以调用:
gh pr create
https://cli.github.com/manual/gh_pr_create现在运行命令时:
Git flow会将代码推送到特性分支,并调用钩子脚本来创建PR。