2017-04-19 11 views
4

私はしばしば、履歴の小さな変更(例えば、空白行の削除、または1行の編集)を行うためにインタラクティブにリベースします。ほとんどの場合、これらの変更は一部のピアレビューに基づいています。まず`git rebase --continue`のエディタを抑制する方法は?

私はそのように私の変更を行います。次のコミットのいずれかで競合をマージがある場合

git rebase --interactive 83bbeb27fcb1b5e164318fa17c55b7a38e5d3c9d~ 
# replace "pick" by "edit" on the first line 
# modify code 
git commit --all --amend --no-edit 
git rebase --continue 

が、私はそれらを解決し、次の操作を行います。

git rebase --continue 
# the commit message is shown, but does not have to be changed, so I just save and exit the editor 
git rebase --continue 
# the commit message is shown, but does not have to be changed, so I just save and exit the editor 
git rebase --continue 
# the commit message is shown, but does not have to be changed, so I just save and exit the editor 
... 

のようなものはありますエディタを避けるgit rebase --continueへの--no-edit引数(git commitに似ています)?

+1

好きなエディタを、「真」などの何もしないコマンドに設定します。 Gitはそれを起動し、何もしないで成功し、Gitは既存のコミットメッセージを再利用します。したがって: 'GIT_EDITOR = true git rebase --continue'。 – torek

+0

@torek * 1 * gitコマンドだけにエディタの変更を適用する方法はありますか?私は ';'を試しました( 'GIT_EDITOR = true; git rebase --continue')が、うまくいきませんでした。 (私はmac、btwを使用しています) – slartidan

+0

これは(シェルでの環境設定 'VAR = val cmd ...')*は1つのコマンドだけに加えて、それ自身が実行するものにも影響します。複数のコマンドに影響を与えるには、変数を設定してエクスポートしなければなりません。ほとんどのシェルでは 'export VAR = value; command1; command2; ... ' – torek

答えて

2

;(これは:GIT_EDITOR=true;git rebase --continue)を試しましたが、うまくいかなかった。すべてのコマンドが従うことのために、現在のシェルセッションでGIT_EDITORを設定します
(私はマックを使っている)

GIT_EDITOR=true; 

。 Gitのコマンドで二股サブシェルに環境変数としてGIT_EDITOR値を渡し

GIT_EDITOR=true git rebase --continue 

に対し

関連する問題