18

ファイルの追跡を停止したいのですが、それでもファイルを作業ツリーに保持します。

私はそれgit rm --cached FILEをさせてくれるものを集めました。ただし、他の誰かがこの変更をプルした場合、そのローカルコピーは削除されますか?

4

2 に答える 2

8

はい、それらのコピーは自動的に削除されます。この削除が行われない場合を想像してみてください。そうすると、すべてのユーザーの作業コピーが、削除されたファイルの山で汚染され、不要になります。

pullただし、リモートユーザーがこれらのファイルにローカルの変更を加えた場合、マージの競合が発生するため、ファイルは削除されません。

Jefromiがコメントで示唆しているように、ファイルは他のユーザー側で削除されますが、簡単に復元できます。バージョン管理下にありますね。;-)ファイルは。によって取得される可能性がありますgit checkout <revision> -- <files...>。リビジョンとして、前のコミットのIDを指定できます。プルの場合、それは保存されORIG_HEADます(詳細についてはこの質問を参照してください)。

git checkout ORIG_HEAD -- removed_file
于 2010-07-23T14:03:49.420 に答える
2

そのような場合、私はむしろそれらをローカルでのみ無視したいと思います:

それらがすでに追跡されている場合:

git update-index --skip-worktree FILE

追跡されていない場合:ローカルの除外ファイルに追加します

echo "FILE" >> .git/info/exclude

すべてのリポジトリに対して何かを行う場合は、グローバル.gitignoreを使用することもできます(例:*〜)

于 2014-04-19T02:30:47.113 に答える