2014-10-27 85 views
1

我無法準確理解.gitignore文件的工作原理。關於gitignore文件跟蹤的困惑

說我有以下的.gitignore:

/db/*.sqlite3 
/log/*.log 
/public/uploads/* 

在所有我的電腦,我有一個文件/db/development.sqlite3

我的問題是:

  1. 如果該文件已經在存儲庫中,每次我將git拉出來時,它是否會將回購版中的版本拉低?

  2. gitignore文件中的文件是否需要在所有系統上進行未跟​​蹤以便不會從存儲庫中拉出或推出?

  3. 如果我決定在事後添加另一行/ tmp/**/*到我的gitignore,我是否需要進入每個工作站/活動服務器來解壓文件?我還需要推一個版本具有回購的/ tmp/**刪除?**

回答

1

如果該文件已經在庫中,將它的每一次拉下的回購我的版本git拉?

不要在gitignore文件文件需要未經跟蹤的所有系統上,爲了不拉或推或從回購?

  • 只要您下載更改並將其合併到當前分支中,就不需要這樣做。如果你不這樣做,你可能會遇到一些錯誤

如果我決定在事後添加另一行/ tmp/**/*到我的gitignore,是否需要進入每個工作站/實時服務器解開文件?我是否需要將版本推送到已刪除/ tmp/**的回購版** **

  • 第一部分回答如上。你需要將這個新版本的版本刪除
+0

所以基本上,對於我想忽略的任何文件或目錄,如果它已經被提交,或者在repo中,我只需要運行'git rm'在那個文件或目錄上? – sabrams 2014-10-27 16:49:43

+0

是的。這應該工作。我曾經有過這種情況,但總是很亂。你必須小心,並檢查一個分支不覆蓋其他任務做了什麼,因此最終該文件不會被忽略......但經過幾次嘗試,你會得到它的工作。或者可能在第一次嘗試,誰知道... – iberbeu 2014-10-27 16:54:44