回答:
あなたはこのテキストファイルにコミットメッセージを入れて、保存して終了するつもりです。
次のコマンドで、gitが使用するデフォルトのテキストエディターを変更できます。
git config --global core.editor "nano"
nanoを、通常はテキストエディターを開くコマンドに変更する必要があります。
--global
のユーザーの設定は--system
変更し、そのコンピューター上の全員の設定を変更します。
Ben Collinsが述べたように-m "..."
、コミットをインラインで入力するための引数なし(これは、簡潔にすることをお勧めするため、一般に悪い考えです)、開かれるこの「大きなテキストファイル」は、コミットメッセージを入力するウィンドウです。
通常、最初の行に概要を記述し、行をスキップして、その下に詳細なメモを書き込むことをお勧めします。これは、適切な件名と本文に加えられた変更の完全なリストを含むコミットメッセージを電子メールで送信するようなプログラムを支援します。
EDITOR
シェル変数を変更する代わりに、~/.gitconfig
ファイルに行を追加して使用するエディターを変更することもできます。
[core]
editor = emacs
excludesfile = /Users/will/.gitignore
この2行目は実際には問題とは関係ありませんが、本当に役立つので、リポジトリにコミットする必要がないことがわかっ~/.gitignore
ているすべてのファイルタイプをファイルに入力できます。
開かれているテキストファイルは、現在のコミット操作の概要です。git commitを実行すると、このファイルに移動するので、ファイルの先頭にコミットメッセージを追加できます。メッセージを追加したら、このファイルを保存して終了します。
このコマンドには "-m msg"スイッチがあり、コマンドラインでコミットメッセージを追加できます。
Mac OS XでBBEditを使用している場合は、これをコミットメッセージ用のエディターとして選択できます。
git config --global core.editor "bbedit -w"
編集が終了したら、ファイルを保存して閉じます。gitはそれをコメントに使用します。
エディターのデフォルトがvi / vimであるとすると、次のように入力してコミットメッセージエディターを終了できます。
:x
コミットメッセージファイルを保存して終了します。次に、通常のgitコマンドセクションに戻ります。
その他のviコマンド:http :
//www.lagmonster.org/docs/vi.html
esc
入力して:x
から保存して終了する前に、コマンドモードに入る必要があります。
すべてが言ったように、これはあなたがコミットコメントを追加する場所です-しかし、一部の人にとっては、エディタ設定を構成していない場合、それでも混乱する可能性があり、VIが何であるかを知らない場合、ショックを受ける可能性があります、あなたはあなたがまだGIT-Bashにいると思うので
その場合、実際にはテキストエディターで作業を行ういくつかの興味深い方法があり、この一連のコマンドは、最初のコミットを通過して、使い慣れたエディターを構成するか、それを次のように使用できるようにするのに役立ちます。それを使用する方法を学ぶ機会。
-m
コミットするオプションは、コマンドラインにコミットメッセージを入力することができます:
git commit -m "my first commit"
新しいコミットを作成すると、gitがテキストエディターを起動し、それに何かを書き込みます。
このテキストエディターを使用して、意図的に作成されたコミットに関連付けられるコミットメッセージを記述します。
完了したら、テキストエディターを保存して終了します。Gitは作成した内容をコミットメッセージとして使用します。
コミットメッセージには、次のような特定の構造があります。
コミットメッセージの最初の行は、メッセージヘッダー(またはタイトル)として使用されます。コミットヘッダーの優先される長さは40文字未満です。これは、切り捨てられる前にgithubが特定のリポジトリの[コミット]タブに表示する文字数であり、一部の人々はイライラします。
ヘッダーを作成するときは、最初の単語に大文字の現在形動詞を使用するのが一般的ですが、まったく必要ありません。
1つの改行は、メッセージのヘッダーと本文を示します。
体は好きなように構成できます。コミットによって導入された変更の概要は妥当です。一部のサードパーティアプリケーションでは、さまざまな種類のフックを開始するために、コミットメッセージの本文に含まれる情報を使用します(2つ挙げると、GerritとPivotal Trackerを考えています)。
これは短くて甘い例です。先頭#
はコメントを示します。
Gitignore index.pyc
Ignore gunicorn generated binary file
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch dev
# Your branch is ahead of 'origin/dev' by 10 commits.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: .gitignore
#
ここでトーバルズ氏は、良いコミットをするものについて意見を述べています。
そして、ここで Tpopeも同様に行います。
他のいくつかの回答で述べられているように、デフォルトのエディターを変更することは、コマンドラインの1行です。
私の好みのために:
git config --global core.editor "vim"
メッセージの入力が終わったら、Escapeを押してからZZを試してください。他の人が言ったように、そのcommitコマンドを実行すると、実際にはメッセージを入力するテキストエディターが実行されます。私の場合(OS X)VIでしたが、少し調べてみました。その場合は、Escapeキーを押して「挿入」モードではなく「コマンド」モードに入り、ZZを入力します。このタスクを達成する方法は他にもあると思いますが、それでうまくいきました。VIやemacsを使用したことがなかったので、すぐにはわかりませんでした。また、使用している初心者向けガイドには記載されていませんでした。うまくいけば、これが役立ちます。
VIMで:wの後にファイル名を入力しようとし続けたため、混乱しました。それはコミットを引き起こしません。代わりに、「空のコミットメッセージによるコミットの中止」というメッセージが表示され続けました。:wの後にファイル名を置かないでください。:wは、デフォルトでファイルを.git / COMMIT_EDITMSGに保存します。次に:qで終了して、コミットを完了します。結果はgit logで確認できます。
エディターをemacsに変更したので、すべて正常に動作します。
しかし、これを設定する前に、「git commit -a」はgeditを開きましたが、すぐに「空のコミットメッセージによるコミットの中止」で終了しました。geditからファイルを保存しても効果はありませんでした。"git config --global core.editor" gedit ""を使用してエディターを明示的に設定しても、同じ結果が得られました。
emacsには何の問題もありませんが、好奇心から、これがgeditで機能しないのはなぜですか?それを機能させる方法はありますか?
ありがとう。
git config --global core.editor "gedit -s"
OS XIを使用している人にとって、このコマンドはうまく機能することがわかりました。
git config --global core.editor "open -t -W"
これにより、gitはデフォルトのテキストエディタ(私の場合はtextedit)を開き、アプリケーションが終了するのを待ちます。コミットが完了する前に、「保存」してから「テキスト編集を終了」する必要があることに注意してください。このページで詳しく説明されているように、他にもいくつか試してみることができるコマンドがあります。
Apple Developer Library-コマンドを開く
またgit config --global core.editor "open -e -W"
、デフォルトのエディターが何であるかに関係なく、gitが常にtexteditを開きたい場合にも試すことができます。
--global
デフォルトを変更するために追加する必要はありませんか?