スクリプトで次のことを実行したいと思います。
git merge --squash someBranch
git push
問題は、マージがコミットを行わないことです。したがって、プッシュの前にコミットする必要があります。このマージによって作成されたデフォルトのコミット メッセージで十分です。だから私の質問は:
コミットを自動生成してマージできますか?
または、スクリプトにコマンドを追加して、デフォルトのメッセージを受け入れるコミットを実行できますか?
ありがとう!
マージ後のデフォルトのコミットメッセージはに.git/MERGE_MSG
あるので、次のようにすることができます。
git commit -F .git/MERGE_MSG
...マージ後。
gitの最新バージョンでは、 git-mergeのドキュメントとこのSOの質問--no-edit
で説明されているオプションを使用してみることができます。
git merge --no-edit --squash someBranch
git push
別の方法:
git merge --squash someBranch
git commit -m ""
この--no-edit
オプションは機能しません (Git 2.7.0)。それは言う: Squash commit -- not updating HEAD
.