2010-06-14 80 views
4

我使用Git與WindRiver來管理我的項目。代碼正在被管理,但項目文件(如.cproject,.project,.wrmakefile和.wrproject)不是。但是,當我切換分支時,Git會刪除這些文件,儘管它們位於.gitignore中,從而消除了編譯代碼而無需恢復提交或保留備份的能力。從Git保護文件

那麼,有沒有辦法對Git說 - 忽略這些文件,不管它們不要碰它們?

回答

1

我不是GIT的專家,但它聽起來像你已經提交你的點文件,然後再將它們添加到gitignore中,然後再進行分支。這是我解決這些問題的方法(可能有更好的方法來做到這一點)。

我複製git倉庫之外的文件,然後運行git rm <files>從倉庫中刪除文件,將相應的條目添加到gitignore中,然後將這些文件複製回項目中。

+0

我確實在將它們添加到git ignore之前提交了它們,但我做了'git rm --cached '因此我不必複製它們並替換它們。 雖然我沒有編輯分支中的.gitignore的任何部分。我只是首先在主人身上試用它。這會影響到這一點嗎? – Tanner 2010-06-14 16:04:32

+0

你在將git rm添加到gitignore之前還是之後運行過git rm?我不認爲git會管理被忽略的文件。 – digitaldreamer 2010-06-14 16:17:16

3

這應該做的伎倆:

  1. 從的.gitignore
  2. 刪除文件刪除文件與git rm(做一個備份,如果你要),並承諾
  3. 添加文件的.gitignore再次提交

請記住,您可能必須爲每個分支執行此操作,無論是手動還是通過從主分支中提交提交。

+0

這是如何工作? – hasen 2010-06-14 16:29:37

+2

這些文件仍然在git repo中,.gitignore只是忽略對它們的任何更改。 – elektronaut 2010-06-14 16:42:05

+0

使用'git rm --cached'將它們僅從索引中刪除,而不是工作樹。 – Cascabel 2010-06-14 17:05:30