12

重複の可能性:
git add -A、1 つのコマンドで git commit?

私が正しく理解していれば、git を使用しているときに新しいファイルがディレクトリに追加されると、ファイルがコミットされていることを確認するために複数のコマンドを呼び出す必要があります。

git add <directory name>
git commit -m 'commit comment'

私 (および他の多くの人) が電話をかけるのを忘れてgit add <directory name>、作成された新しいファイルがすべて失われたプロジェクトになってしまうことを私は知っているので、これは正しく聞こえません。以前のコマンドですべての新しいファイルをコミットに追加するように指定しなくても、すべての新しいファイルを含むディレクトリ全体を 1 つのコマンドでコミットできるはずです。どうすればいいですか?

4

2 に答える 2

7

git commit -agit が認識しているすべてのファイルをコミットします。

 -a, --all
       Tell the command to automatically stage files that have been modified and
       deleted, but new files you have not told git about are not affected.

必要なものをすべてコミットしていることを確認したい場合は、git-statusの前に を使用してgit-commit、コミット用にステージングされているファイルを確認できます。

gitは 2 段階のプロセスを使用して、 から に変更を取得しworking directoryますrepository。のような包括的なアプローチgit commit -a 機能しますが、面倒で非アトミックなコミットにつながります。あなたが探しているような包括的なアプローチを使用するのではなく、より小さく、焦点を絞ったコミットを提唱します。

私 (および他の多くの人々) が git add を呼び出すのを忘れることを知っているので、これは正しく聞こえません...

git-statusあなたの友達です :)

注:はファイルをリポジトリgit-addに追加しませ。からではなくから物事をコミットします。これは最初は奇妙に思えるかもしれませんが、柔軟性が大幅に向上します。詳細については、別の回答を参照してください。 git commitstaging arearepositoryworking area

于 2012-05-25T17:40:45.310 に答える
2

https://github.com/orefalo/g2でG2を取得します。

G2 は、使いやすいマクロを提供することで、git コマンド ラインを学習するのに役立ちます。

コマンドはg freeze -m "commit msg".

追加、削除、変更に対応しています。あなたは状態を凍結しています..これは初日からそうあるべきだった.

于 2012-05-25T17:39:33.097 に答える