`git flow release finish` non-interactively

久未见 提交于 2019-12-03 11:03:52

问题


How I can use git flow release finish in a manner that doesn't ask for merge commit messages? The -m flag doesn't provide this, as I expected.

The goal of course is to be able to script this in such a way that doesn't require interaction.


回答1:


You can set the environment variable

export GIT_MERGE_AUTOEDIT=no

git flow release -m 'Merge Message' release_branch_name

unset GIT_MERGE_AUTOEDIT

It won't invoke the editor for when you merge.

If you switch to my fork git-flow AVH Edition you can set this option to only work for when you use git-flow.




回答2:


git flow is (more or less) just a wrapper around git commands. Pop open the git-flow-*.sh of your choice, copy the git commands, and then mess with them. In this case, add --no-edit to git merge. This approach kills two birds with one stone: you can just copy these lines into your automation script.




回答3:


I had trouble with the -m flag. However if you give a message without spaces, it worked. Must be a bug.

git flow release finish -m 'my_message_with_no_spaces' 1.2.3



回答4:


Unfortunately there's no out-of-the-box way to achieve that with the current version of git-flow.

By looking at the source code, the git command used to merge is

git merge --no-ff

and there's no way to pass the --no-edit flag to it.

A couple of things you could do:

  • fork the project and insert this capability (possibly as an optional flag)
  • propose it as a feature and wait for the dev to implement it



回答5:


You can pass the -m flag to specify a tag message on the command line.

It is still possible for the merges to have conflicts, but the tag operation will not try to open an editor for the tag message.

git flow release finish -m "my awesome release" 1.2.3

https://github.com/nvie/gitflow/wiki/Command-Line-Arguments#git-flow-release-finish--fsumpkn-version




回答6:


I don't know about git flow, but if it supports standard git flags, you can use the --no-edit flag to avoid merge commit messages in an automated setting.



来源:https://stackoverflow.com/questions/14531243/git-flow-release-finish-non-interactively

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!