2016-11-21 19 views
1

私はGitはコミット--amendメッセージスクリプトで

git commit --amend 

を実行するbashスクリプトを記述しようとしている単語を交換し、私のデフォルトのエディタはVimのです。コミットメッセージの中で、私はどのようにして、スクリプトでこれを行うん

Reviewed: $myarg 

Reviewed: notreviewed 

を交換したいですか?

+0

スクリプトのパラメータとしてgitハッシュを使用する予定ですか?また '$ myarg'変数もありますか? – eddiem

+0

"./myscript.sh myarg"のようなスクリプトを呼び出したい –

+0

それは自動的に最新のコミットに適用されますか? – eddiem

答えて

2

これが最良の選択肢(それがどんな/文字、または早まっsedコマンドを終了する可能性が何も含まないmyargに依存している)ではありませんが、単一filter-branchコマンドはgit commit --amendの代わりに使用することができます。

git filter-branch --msg-filter "sed '/Reviewed:/s/notreviewed/$myarg/'" HEAD 
+0

ただし、myargに '' sed ''が含まれていない(または最も可能性が高い)別の任意の文字を選択できます。/レビュー:/s§notreviewed§$myarg§ '"' –

+0

それだけではありません。 'myArg ="これはクールではない "場合、一重引用符は早期に' sed'への引数を終了します。このようなコマンドを動的に作成するには、非常に注意する必要があります。 – chepner

関連する問題