259

私はgit commit -m "message"このようにしました:

> git commit -m "save arezzo files"
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   arezzo.txt
#       modified:   arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")

しかしその後、私が行うgit statusと、同じ変更されたファイルが表示されます。

> git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   arezzo.txt
#       modified:   arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")

私は何を間違っていますか?

4

12 に答える 12

417

メッセージが言うように:

コミットに追加された変更はありません (「git add」および/または「git commit -a」を使用)

Git には、コミットする前にファイルを追加する必要がある「ステージング領域」があります。ここで説明を読むことができます。


特定の例では、次を使用できます。

git commit -am "save arezzo files"

a(フラグの余分に注意してください。次のように書くこともできますgit commit -a -m "message"-両方とも同じことを行います)

または、コミットに追加するものをより選択的にしたい場合は、git addコマンドを使用して適切なファイルをステージング領域に追加し、git statusを使用して追加しようとしているものをプレビューします (注意を払うことを忘れないでください)。使われている言葉)。

また、ファイルのステージング/追加の概念について詳しく説明しているgit ドキュメント ページで、gitの使用方法に関する一般的なドキュメントとチュートリアルを見つけることもできます。


知っておくべきもう 1 つのことは、インタラクティブ ステージングです。これにより、ファイルの一部をステージング領域に追加できるため、3 つの異なるコード変更を (関連するが異なる機能のために) 行った場合、インタラクティブ モードを使用してステージング領域を分割できます。変更し、各部分を順番に追加/コミットします。このように特定のコミットを小さくすると、役立つ場合があります。

于 2011-10-09T15:20:57.057 に答える
53

変更を追加していません。経由で具体的に追加するか

git add filename1 filename2

またはすべての変更を追加します (プロジェクトのルート パスから)

git add .

または、-aコミット中に省略形を使用します。

git commit -a -m "message".
于 2011-10-09T15:21:11.260 に答える
41

やったほうがいい:

git commit . -m "save arezzo files"
于 2011-10-09T15:20:25.477 に答える
8

Git ソース管理下にある小さなサブ プロジェクトを別のプロジェクトにコピーし、.git フォルダーを削除するのを忘れていました。コミットすると、上記と同じメッセージが表示され、.gitフォルダーを削除するまでクリアできませんでした。

少しばかげていますが、コミットしないフォルダーの下に .git フォルダーがないことを確認する価値があります。

于 2012-07-25T05:34:35.223 に答える
4

この問題は、ファイルが存在する場所のgit add .のサブディレクトリ(いわばリポジトリのホーム ディレクトリ) で実行したときに発生することがわかりました。ディレクトリを最上位のディレクトリに変更し、実行後に..gitignoregit add .git commit -m "my commit message"

于 2014-04-15T15:03:53.600 に答える
4

当たり前のことかもしれませんが…

インデックスに問題がある場合は、git-guiを使用してください。インデックス (ステージング エリア) が実際にどのように機能するかがよくわかります。

インデックスを理解するのに役立つもう 1 つの情報源は、Scott Chacons の「Getting Git」の 259 ページ以降です。

ほとんどのドキュメントは...

git-gui と gitk のおかげで実際に仕事が速くなったと思います。たとえば、「git pull」などの悪い習慣を取り除きました... 今では常に最初にフェッチします... マージする前に新しい変更が実際にどのようなものかを確認してください。

于 2011-12-11T04:14:20.767 に答える
2

私の場合、さらにファイルがある場合、プロジェクトのルートフォルダーから追加しようとすると7000個の画像ファイルがあり、それらは追加されていませんが、画像フォルダーに移動するとすべて問題ありません。ターゲット フォルダーに移動し、abows のようにコマンドを実行します。

git add .
git commit -am "image uploading"
git push origin master

git push origin master オブジェクトの列挙: 6574、完了。オブジェクトのカウント: 100% (6574/6574)、完了。最大 4 つのスレッドを使用したデルタ圧縮 オブジェクトの圧縮: 100% (6347/6347)、完了。オブジェクトの書き込み: 28% (1850/6569)、142.17 MiB | 414.00 KiB/秒

于 2019-02-24T20:56:50.153 に答える
0

commit --amendを発行した後も実行していた問題がありましたが、git add .それでも機能しませんでした。いくつかの.vimrcカスタマイズを行ったところ、エディターが正しく機能していなかったことが判明しました。vim正しいコードを返すようにこれらのエラーを修正すると、問題が解決しました。

于 2015-03-06T21:59:56.723 に答える