7

git add .変更をコミットする前に、私は何年も入力してきました。私が理解していることから(以下のメッセージから)、現代の同等物git add --ignore-removal <pathspec>はもう少し冗長です。git の今後のバージョン 2.0で古い動作に戻す方法、または少なくとも現在のバージョンでこのメッセージを無音にする方法はありますか?

$ git add .
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'log/sunspot-solr-development.log.lck' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal <pathspec>', which is the current default,
  ignores paths you removed from your working tree.

* 'git add --all <pathspec>' will let you also record the removals.

Run 'git status' to check the paths you removed from your working tree.
4

1 に答える 1

5

表示される警告は、コミット 45c45e3を改良するコミット ccc663bからのものです。

その2番目のコミットは言及しています:

git add: " " を " "git add <pathspec>...にデフォルト設定するための準備を開始します-A

最終的-Aには、コマンド ラインにパス指定がある場合に " " が指定されたかのように "git add" を装う予定です。

その移行が機能するためには、git add --no-all subdir/subdir/zgit add -A subdir/

引数なしの" git add" は、引き続きノーオペレーションです。

したがって、git add .実際には の現代的な同等物は次のようgit add -A .になります。

メルテミの コメント

それが何を意味するのかさえわかりませんか?この変更を行った理由を知っている人はいますか?

上記のコミットは、--ignore-removalオプションを示しています。

" " または " " オプションgit add subdir/を指定せずに " " を実行すると、たとえば-u-A

$ edit subdir/x
$ create subdir/y
$ rm subdir/z
$ git add subdir/

subdir/zこのコマンドは、作業ツリーからのパス (例: ) の削除を認識しません
これは新しい人々を混乱させることがあります。間違いなく " " は、そのパス仕様に一致する作業ツリーに存在するパスの現在の状態ではなく、全体としてgit add" " の現在の状態を記録するように指示されているためです (後者は定義により、そのパスの状態を除外します)。 subdir/" subdir/z" は作業ツリーに存在しないため)。

于 2013-10-17T06:12:20.603 に答える