2012-11-25 53 views
3

默認情況下,爲什麼config/database.yml將包含在.gitignore文件中?這件小東西花了我一兩個小時。默認情況下,我的Rails應用程序爲什麼config/database.yml包含在.gitignore文件中?

我一頭栽進這個麻煩的方式:

  • 我想我感到困惑如何處理的git復位和恢復。
  • 我一直在試驗影響config/database.yml的代碼更改
  • 我不喜歡結果,所以我放棄了更改。
  • 這很奇怪,因爲它似乎無法簽出未經編輯的config/database.yml版本
  • 然後我花了太多時間試圖弄清楚我是否誤解了git的重置和合並命令。
  • 原來默認情況下,config/database.yml包含在.gitignore文件中。

不知道爲什麼。花費我一個小時左右的重置和合並選項擺弄,事實證明我甚至沒有跟蹤文件。當我寫這個,我意識到我不完全確定何時.gitignore被寫入/修改,以包括config/database.yml

是否有某種原因它應該在那裏?

回答

5

該文件在版本控制系統中通常不會包含用於跟蹤的許多有趣內容。

但是,它通常包含連接到數據庫服務器,不應該公開的密碼。

它還經常包含不同工作副本,數據庫服務器的不同用戶或數據庫名稱,SQLite文件的不同路徑之間的差異。這些差異將導致無法在版本控制系統中跟蹤此文件。

+0

很多部署策略也會自動生成database.yml。 – numbers1311407

+0

謝謝qqx。非常明亮。我試圖將軌道連接到多個數據庫。當我想放棄這些變化並回到我正在做的事情時,我感到驚訝的是,一些看似重要的文件未被跟蹤。也許那些爲這些事情編寫rails教程的人會注意到這個陷阱就在那裏。也許有些人會認爲我的錯誤是一個初學者的錯誤,但它同樣花了我的錢。一般來說,我發現沒有簡單的路徑將軌道連接到多個數據庫,但這是無關緊要的。再次感謝。 –

+0

數字,謝謝。很有幫助。部署是我尚未與之搏鬥的一個步驟。請記住你的觀點。 –

-1

如果您看到'git reset'和'git revert'似乎沒有任何影響的文件,您可能會發現該文件列在項目根目錄的.gitignore文件中。

+0

問題不是'這個文件被忽略?',問題是'爲什麼'。 – sevenseacat

+0

sevenseacat,-1?這裏的OP中有多個問題/內容點。 -1似乎有點'不符合。而那些與這個問題背後的問題鬥爭的人可能會對這個答案感到滿意。後續答案增加了理解,但這並不意味着這個答案值得讚揚。 Upvoting有助於確定最佳答案(下面的內容)Downvoting應突出顯示非建構性答案,但事實並非如此。 –

相關問題