git status
名前が変更されたファイルのパッチを対話的に追加した後、出力に予期しない「dev/null」が表示されます。これは予期されたものであり、この動作には正当な理由があるのか、それともバグである可能性があるのか 疑問に思っています。
以下は、これを再現する方法の簡単な図です。私の実際のシナリオでは、もう少し複雑で、 を使用しているのには十分な理由がありますが、次のgit add -p
最小限の例に要約することができました。
$ git 初期化テスト /local_disk/tmp/test/.git/ で初期化された空の Git リポジトリ $ cd テスト $ echo "foo" > foo $ git add foo $ git commit -m 'Add foo' [マスター (ルートコミット) 3643b5d] foo を追加 1 ファイル変更、1 挿入 (+)、0 削除 (-) 作成モード 100644 foo $ mv foo バー $ git add -p diff --git a/foo b/foo インデックス 257cc56..0000000 --- a/foo +++ /dev/null @@ -1 +0,0 @@ -ふー このハンクをステージング [y,n,q,a,d,/,e,?]? y $ git ステータス # ブランチ マスター上 # コミットする変更: # (「git reset HEAD ...」を使用してステージングを解除します) # # 新しいファイル: dev/null # 削除: foo # # 変更されたが更新されていない: # (「git add/rm ...」を使用して、コミットされる内容を更新します) # (「git checkout -- ...」を使用して、作業ディレクトリの変更を破棄します) # # 削除: dev/null # # 追跡されていないファイル: # (「git add ...」を使用して、コミットされる内容を含めます) # # バー
「新しいファイル: dev/null」と「削除されたファイル: dev/null」とは何ですか? これは、私が行った場合とまったく同じ結果になると予想されます。
$ mv foo バー $ git rm foo $ git ステータス # ブランチ マスター上 # コミットする変更: # (「git reset HEAD ...」を使用してステージングを解除します) # # 削除: foo # # 追跡されていないファイル: # (「git add ...」を使用して、コミットされる内容を含めます) # # バー
私は Git バージョン 1.6.5.5 を使用しており、1.6.5.4 でも再現しています。バージョン 1.6.1.2 の Git がある Cygwin 環境では再現できませんでした。