2016-07-16 46 views
1

我知道有這方面的一些問題。但是我所看到的全部都是使用"git -rm --cached",這實際上是在本地查找文件。如果我想刪除遠程git倉庫中的文件,我該怎麼辦?如何刪除文件只在遠程git回購

當我嘗試從Github網站中刪除未跟蹤的文件時,它仍然創建提交。然後我從遠程獲取並從中拉出,並且未跟蹤的文件被刪除,這是一些本地配置文件(例如.classpath)。我想從遠程刪除未跟蹤的文件,它不會影響我的下一個拉。無論如何要這樣做?或者我只需要創建另一個分支或回購?

+0

.gitignore也許? –

回答

0

當我嘗試從GitHub的網站刪除未經跟蹤的文件,但它仍然創建了一個提交

預計:你不能沒有記錄該去除(如提交取消對遠程端文件)

然後混帳拉將本地刪除該文件,除非也許,作爲臨時解決方法,你在本地做一個:

git update-index --assume-unchanged 

然而,日e拆下可能會檢測到衝突,並要求您解決這個問題(即保留在本地文件,這意味着未來混帳推將重新在遠程端那個文件):多見於「Git - Difference Between 'assume-unchanged' and 'skip-worktree'

我想要的未跟蹤的文件從遠程刪除,它不會影響我的下一個拉。
有沒有辦法做到這一點?或者我只需要創建另一個分支?

是的,你可以有另一個分支,其中該文件將不存在。

+0

謝謝!如果上游有變化,即使我使用--assume - 不變,它仍會對我的本地文件進行更改,對吧?因爲--assume-unchanged標誌將被取消。如果是這樣,那麼唯一的辦法是創建一個新的分支?我可以刪除舊分支中的文件併合並上遊的兩個分支嗎? – Finix

+0

@Finix是的,創建一個新分支比'--assume-unchanged'更安全。您可以在那裏刪除文件並將新分支推送到上游,以便上游記錄這些刪除。無需合併。 – VonC

+0

謝謝。但我只是做到了。有人需要我的代碼並同步我的主分支。他正在使用不同的IDE。所以,我想刪除不必要的文件對他來說會更容易。 – Finix