我希望停止跟蹤文件,但仍然保留在我的工作樹中。git-rm --cached當他們拉動時刪除另一個用戶的工作樹文件
我收集到了,git rm --cached FILE
會讓我這樣做。但是,如果別人拉這個改變,他們的本地副本會被刪除?
我希望停止跟蹤文件,但仍然保留在我的工作樹中。git-rm --cached當他們拉動時刪除另一個用戶的工作樹文件
我收集到了,git rm --cached FILE
會讓我這樣做。但是,如果別人拉這個改變,他們的本地副本會被刪除?
是的,他們的副本將被自動刪除。想象一下,如果這種刪除不會發生 - 那麼所有用戶的工作副本將被成堆的刪除文件污染,而這些文件不再需要了。
但是,如果遠程用戶對這些文件進行了本地更改,它們將不會被刪除,因爲pull
將導致合併衝突。
由於Jefromi表明在他的評論,而這些文件是在其他用戶的側面取出,他們可以很容易地恢復 - 噹噹版本控制之下,是不是? ;-)文件可以通過git checkout <revision> -- <files...>
得到。作爲改版你可以指定以前的ID提交,用於拉它保存在ORIG_HEAD
(見this question瞭解詳細信息):
git checkout ORIG_HEAD -- removed_file
在這種情況下,我寧願無視他們本地只:
如果他們已經追蹤:
git update-index --skip-worktree FILE
如果他們未追蹤:將它們添加到您的本地排除文件
echo "FILE" >> .git/info/exclude
如果您的所有回購(例如您的回購協議)都有,您也可以擁有全球.gitignore。 *〜)
結合將它們添加到.gitignore,我希望! – Cascabel 2010-07-23 14:49:31
是的。這讓我想知道如果將它們添加到gitignore並且不要git rm他們會發生什麼...... – rod 2010-07-23 14:59:06
這肯定是在其他問題中討論過的;會發生什麼......沒什麼。 – 2010-07-23 15:03:45