這是一個我知道的小將軍,但它一直在竊聽我。我一直在用Git遠程處理大量的rails項目,每次我做了git pull
,看到有某種數據更改(遷移或schema.rb更改),我做了一個rake db:migrate
。爲什麼在剛運行rake db時遷移schema.rb(在Git的眼中):migrate?
這些通常運行良好,我可以繼續工作。但是,如果你執行了git pull
然後git status
,那麼你的工作目錄是乾淨的(顯然),然後執行rake db:migrate
(顯然當發生更改時)和另一個git status
,並且突然你的db/schema.rb發生了改變。我一直在做一個git checkout
立即重置回schema.rb文件的最新承諾版本,但爲什麼這是必要的?!鐵軌在做什麼?更新時間戳?我似乎無法弄清差異是什麼,但也許我只是錯過了一些東西?
運行'git diff db/schema.rb'時diff是什麼? – 2010-06-05 20:27:58
感謝所有的評論傢伙!現在有更多的意義......這是一個小小的煩惱,但嘿總是想方設法讓生活更輕鬆。 – erskingardner 2010-06-06 10:34:46