2016-10-05 10 views
1

Windowsでgit-flow自動化のためのBashスクリプトを書いています。git flow release finish -mはcmdとGit Bashで動作が異なります

問題は:git flow release finish MYRELEASE -m "MESSAGE"をcmdから呼び出すと、入力を要求せずに実行されます(希望の動作)。しかし、Git Bash(MINGW64)から同じことをすると、私は避けたいマージ・メッセージ(vimを起動)を求めます。

両方のコンソールでgit-configをgit config --global core.mergeoptions --no-editに設定しようとしましたが、結果は同じです:Git Bashは常にmergemessagesを要求します。

  • なぜコンソールは異なる動作をしますか?
  • Git Bashにマージメッセージの入力を停止させる方法を教えてください。

UPDATE:
両方のコンソールでgit flow release finish 1.1.4 -m "v1.1.4" --showcommandsの出力は

git checkout master 
Switched to branch 'master' 
Your branch is up-to-date with 'origin/master'. 
git merge --no-ff release/1.1.4 
Already up-to-date! 
Merge made by the 'recursive' strategy. 
git tag -a -m v1.1.4 1.1.4 1.1.4 
git checkout develop 
Switched to branch 'develop' 
Your branch is up-to-date with 'origin/develop'. 
git merge --no-ff 1.1.4 
Already up-to-date! 
Merge made by the 'recursive' strategy. 
git branch -d release/1.1.4 
Deleted branch release/1.1.4 (was 0a774fe). 

Summary of actions: 
- Release branch 'release/1.1.4' has been merged into 'master' 
- The release was tagged '1.1.4' 
- Release tag '1.1.4' has been back-merged into 'develop' 
- Release branch 'release/1.1.4' has been locally deleted 
- You are now on branch 'develop' 
+0

' - gow flow release'コマンドに' --showcommands'を追加すると、cmdとGit Bashの出力はどうなりますか? –

+1

編集していただきありがとうございます@ScottWeldon、ありがとうございます。返事をありがとう、私はそれを試してみました。出力は同じです、私の更新を参照してください。私は解決策を見つけた、私の答えを参照してください。それにもかかわらず、あなたの努力をありがとう! – ffranz

答えて

1

である私は、関連questionへの答えで解決策を自分自身を発見しました。
スクリプトの最初にexport GIT_MERGE_AUTOEDIT=noを実行し、最後にunset GIT_MERGE_AUTOEDITを実行するだけで済みます。
2つのコンソールが異なる理由はまだ分かりませんが、この修正により目的の動作が得られるので、私にとっては十分です。

関連する問題