web-dev-qa-db-ja.com

なぜgitcommit -aが新しいファイルを追加しないのですか?

私はgitに少し慣れていないので、なぜgit commit -a変更および削除されたファイルのみをステージングし、新しいファイルはステージングしません。

なぜこのようなのか、ファイルの追加とコミットを有効にする他のコミットフラグがない理由を誰かが説明できますか 1つのコマンドで

ところで、 hg commit -A 新しいファイルと削除されたファイルの両方をコミットに追加します

33
splintor

Gitは追跡についてです変更。どのファイルが追跡するのに十分重要であるかを伝えるのはあなたに依存しています。あなたは次のように望ましい効果を達成することができます:

git add . ;git commit -a

.gitignoreファイルが更新されます。

18
Kelly S. French

別の解決策を提案します。git commit --interactive -m "your commit message"を使用すると、このメニューが表示されます

*** Commands ***
  1: [s]tatus     2: [u]pdate     3: [r]evert     4: [a]dd untracked
  5: [p]atch      6: [d]iff   7: [q]uit   8: [h]elp

簡単なキーストロークを使用して、ステータスの確認、追跡されていないファイルの追加などを行うことができます。

11
Gonzalo Cao

答えは簡単だと思います(しかし、私がそれを言うことで人気があるとは思えません!)-開発者がそれを実装したときにそれがどのように落ちたのかを除いて、これに対する意図的な「理由」はおそらくありません。 Gitプロジェクトの優先事項は、使いやすさや使いやすさではありませんでした。

8
Matt R

ケリーは正しいですが、CVS、Subversion、および他のほとんどのツールがそのように動作するため、非常に多くの人々がその動作を期待していることも別の要因だと思います。

Gitが新しいファイルをコミットした場合、ずっと前に.oファイルをコミットしたことに気付くかもしれません。さらに悪いことに、ビルドに悪影響を与える可能性があります。

6
JasonSmith

将来のために、 Ian Clelland 、からこのソリューションに固執することができます

git add -A && git commit -m "Your Message"

コメントからはあまり見えないので https://stackoverflow.com/a/2419270/5836034