私が読んだすべての Git チュートリアルでは、次のことができると書かれています。
git init
git add .
git commit
これを行うと、大きなテキスト ファイルが開かれます。どのチュートリアルもこれに対処していないようです。そのため、ファイルをどうするか、またはファイルに何を入れるかがわかりません。
私が読んだすべての Git チュートリアルでは、次のことができると書かれています。
git init
git add .
git commit
これを行うと、大きなテキスト ファイルが開かれます。どのチュートリアルもこれに対処していないようです。そのため、ファイルをどうするか、またはファイルに何を入れるかがわかりません。
このテキスト ファイルにコミット メッセージを入力し、保存して終了する必要があります。
次のコマンドで、git が使用するデフォルトのテキスト エディターを変更できます。
git config --global core.editor "nano"
nano を、通常テキスト エディタを開くコマンドに変更する必要があります。
Ben Collinsが述べたように、コミットをインラインで入力する引数がない-m "..."
場合 (これは、簡潔にすることを奨励するため、一般的には悪い考えです)、開かれるこの「大きなテキスト ファイル」は、コミット メッセージを入力するウィンドウです。 .
通常、最初の行に要約を書き、行を飛ばして、その下に詳細なメモを書くことをお勧めします。これは、適切な件名と本文に加えられた変更の完全なリストを含むコミット メッセージを電子メールで送信するようなことを行うプログラムに役立ちます。
シェル変数を変更する代わりに、ファイルに次EDITOR
の行を追加して、使用するエディターを変更することもできます。~/.gitconfig
[core]
editor = emacs
excludesfile = /Users/will/.gitignore
その2行目は実際にはあなたの問題とは何の関係もありませんが、リポジトリにコミットしたくないことがわかっ~/.gitignore
ているすべてのファイルタイプをファイルに入力できるので、非常に便利です。
開かれているテキスト ファイルは、現在のコミット操作の概要です。git commit によってこのファイルにドロップされるため、ファイルの先頭にコミット メッセージを追加できます。メッセージを追加したら、このファイルを保存して終了します。
このコマンドには、コマンド ラインにコミット メッセージを追加できる「-m msg」スイッチもあります。
エディターのデフォルトがvi/vimであるとすると、次のように入力してコミットメッセージエディターを終了できます。
:x
これにより、コミットメッセージファイルが保存されて終了します。次に、通常のgitコマンドセクションに戻ります。
その他のviコマンド:
http ://www.lagmonster.org/docs/vi.html
Mac OS X で BBEdit を使用している場合は、これをコミット メッセージ用のエディターとして設定できます。
git config --global core.editor "bbedit -w"
編集が完了したら、ファイルを保存して閉じます。git はそれをコメントに使用します。
すべての人が言っているように、これはコミットコメントを追加する場所です-しかし、エディタ設定を構成しておらず、 VIが何であるかを知らない場合は、espを混乱させる可能性があります:ショックを受ける可能性があります、あなたはまだ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
#
ここでTorvalds 氏が、良いコミットとは何かについて意見を述べています。
ここでTpopeも同様です。
他のいくつかの回答で述べたように、デフォルトのエディターを変更することは、コマンドラインのワンライナーです。
私の好みのために:
git config --global core.editor "vim"
メッセージの入力が終わったら、Escape を押してから ZZ を押してみてください。他の人が言ったように、その commit コマンドを実行すると、実際にはテキスト エディターが実行されてメッセージが入力されます。私の場合 (OS X) は VI でした。その場合、Escape を押して「コマンド」モード (INSERT モードではなく) に入り、ZZ と入力します。タスクを達成する他の方法があると確信していますが、それでうまくいきました。VI や emacs を使用したことがないので、すぐにはわかりませんでした。使用していた初心者向けガイドにも記載されていませんでした。うまくいけば、これが役に立ちます。
このgit commit
コマンドは、環境変数で指定されたエディターを開きEDITOR
、コミット コメントを入力できるようにします。Linux または BSD システムでは、これはデフォルトで vi になりますが、任意のエディターが動作するはずです。
コメントを入力してファイルを保存するだけです。
VIM で :w の後にファイル名を入力しようとし続けたため、混乱しました。それはコミットをトリガーしません。代わりに、「コミットメッセージが空のためコミットを中止しています」というメッセージが表示され続けました。:w の後にファイル名を付けないでください。:w は、デフォルトでファイルを .git/COMMIT_EDITMSG に保存します。次に :q で終了し、コミットを完了します。結果は git log で確認できます。
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 を開くようにする場合も試すことができます。
エディターを emacs に変更したので、すべて正常に動作します。
しかし、これを設定する前に、「git commit -a」はgeditを開きましたが、すぐに「コミットメッセージが空のためコミットを中止しています。」で終了しました。gedit からファイルを保存しても効果はありませんでした。「git config --global core.editor "gedit"」でエディターを明示的に設定しても、同じ結果になりました。
emacs には何の問題もありませんが、好奇心から、これが gedit で機能しないのはなぜですか? また、機能させる方法はありますか?
ありがとう。
リビジョン管理を行うときは、行った変更が何であるかを常に説明する必要があります。通常、初めて「初回コミット」などのコメントを受け取ります。
ただし、長期的には、コミットごとに適切なコメントを作成する必要があります。次のような形式が必要になります。
実験的な機能 x を追加しました。
X は、条件 Z で機能 Y のパフォーマンスを向上させます。X が必要な場合は、-x または --feature-eks スイッチを使用して有効にします。これは、機能要求 #1138 に対処します。
ええ、賢明なエディター セットがあることを確認してください。デフォルトのエディタがどうなるかはわかりませんが、私のようにそうである場合nano
(commit を入力した後、一番上近くにそう表示されます)、コメントを入力してCtrl-Xを押すだけで終了します。次にy、enterを押してから、コミットを確認します。
また、巨大な差分リストではなく、コミットするファイルの簡単なリストを見たい場合は、事前に試してください
git diff --name-only
ターミナルも初めてなので、「エスケープしてからZZ」がうまくいきました。私はこの問題を何ヶ月も抱えていて、それを回避する方法を見つけることもできませんでした。
シンプルなアドバイスをくれたTheGeoffに感謝します!
以下は、おそらくすべての変更をコミットする最も簡単な方法です。
git commit -a -m "Type your commit message here..."
もちろん、もっと詳細にコミットする方法はありますが、それで始められるはずです。