2009-08-13 40 views
299

このコマンドは、システム内のファイルを削除します。 Gitリポジトリからファイルのみを削除することを意味しました。ディスクからファイルを削除せずにファイルを削除するにはどうすればよいですか?

システムのファイルを削除せずにファイルをGitリポジトリから削除するにはどうしたらいいですか? "gitのヘルプのrm" によると、

git rm --cached file 

は何をしたい

+0

前回のコミットから削除するか、最後のコミットから削除しますか? –

+0

@ニックD.質問が開きます。 –

+0

@マッシ、以前のコミットから削除したい場合は、もう少し複雑になるでしょう - それが具体的なものかどうかを尋ねてください。 – bdonlan

答えて

557

を行う必要があります。

+7

私はGitを使い慣れていますが、これを数回実行してから、他の誰かがリポジトリから引き出すと、ローカルファイルが削除されます。プルを行う次の開発者から削除しない方法を探している。 – Terry

+2

@テリー、http://stackoverflow.com/questions/2604625/git-how-to-remove-file-from-index-without-deleting-files-from-any-repository – AlcubierreDrive

+14

私にとって混乱することは、 git-rmのmanページは、作業ディレクトリからファイルを削除しないことを示しています。しかし、私が--cachedを使わないときに見えるのは、ファイルが修正されたということです。 – zznq

22

私は答えを試してみました。私の個人的な発見があることを出てきた:

git rm -r --cached . 

そして

git add . 

これは私の作業ディレクトリをきれいにするように見えました。ドットの代わりにfileNameを入れることができます。

+7

+1 '-r':先頭のディレクトリ名が与えられたときに再帰的削除を許可します。 * .suffixを実行している場合は、 –

+1

-rは必要ありません(難しいのはこの動作を難しい方法で発見することです) – szeitlin