38

次のように入力したときにコミットされるファイルのリストを取得する方法はありますか?

git commit -m "my changes"

git status リストが多すぎます。すべての単語を削除することもできますが、そうはしません。そして、追跡されていないファイルについて知らされたくありません。

私はもう試した

git ls-files -md

ただし、最近追加されたがまだコミットされていないファイルは表示されません。

私はあなたが得るのと同じ出力を探しています

svn status -q

例えば ​​$ svn status -q
A file.py
M dir/database.py
M start.py

4

4 に答える 4

47

これは私が探していたものです。私が必要としていた手がかりをくれた notnoop に感謝します。他の人に役立つ場合に備えて、ソリューションを投稿したかったのです。

git diff HEAD  --name-only

するつもりだったので

git commit -s -F mesage.txt

最初の行で見つかったファイルを使用します。

私の意図は、インデックスを完全に無視する小さなシステムを作成することです。つまり、git add を実行する必要はありません。(私の理解では、インデックスはパッチを作成するときに役立ちますが、これは私のワークフローでは決して標準ではありません。)

于 2009-11-29T03:45:54.087 に答える
12

このコマンドは、インデックス/キャッシュ/ステージング領域内のどのファイルが現在の HEAD と異なるか (およびそれらが追加、変更、または削除であるかどうか) を通知します。これは、git commit明示的なパスまたは-aオプションなしで使用した場合にコミットされる変更です。その形式は、表示する出力とかなり似てsvn statusいます。

git diff --cached --name-status
于 2009-11-29T21:58:54.713 に答える
6

あなたが試すことができます:

git diff --name-status

私は以下を取得します:

$ git diff --name-status
M       README.markdown

追跡されていないファイルなし。

于 2009-11-29T03:05:28.967 に答える