2013-01-07 54 views
0

我使用GIT來部署我的cakephp應用程序,前幾天我開始在我的應用程序中使用migrations插件(通過cakeDC)來簡化數據庫版本和更改。爲什麼GIT沒有跟蹤我的cakephp migrations插件?

在我的本地開發機器上安裝Migrations插件後,我提交了更改並將其推送到我的生產服務器,並試圖從那裏運行migrations插件。 在服務器上找了一段時間後,我意識到它沒有抓住所有的遷移插件,而下面發生了變化:

應用程序/配置/ bootstrap.php中有以下行附加 CakePlugin ::負載( '遷移');

插件文件夾現在有一個Migrations文件夾,但它是空的。

我通過FTP上傳插件解決了這個問題。我運行了一個git狀態,它顯示工作目錄乾淨...

爲什麼isnt GIT跟蹤我的Migrations插件文件夾內容?

+1

後的.gitignore –

+0

* .clpprj 日誌的內容/ * TMP/* 混帳/ * git的 網絡/應用程序的/ tmp /日誌/ * 網絡/應用程序的/ tmp /會話/ * 網絡/應用程序的/ tmp /測試/ * 網絡/應用程序的/ tmp /緩存/模型/ * 網絡/應用程序的/ tmp /緩存/永久/ * 網絡/應用程序的/ tmp /緩存/視圖/ * !空 web/stats/* web/error/* favicon.ico cgi-bin/* ssl/* – CertifiedGeek

+1

答案:插件文件夾沒有被跟蹤,因爲它被安裝爲子模塊。 我發現安裝插件的第一條指令包括使它成爲一個git子模塊(當時我不知道那是什麼...))我已確定它是通過此線程安裝的:無法跟蹤Git子模塊內的文件 @Chris Herbert感謝回覆 我使用此線程進行刪除:如何刪除git子模塊? 我希望這對未來有幫助,因爲我有一段時間。下次我在使用它之前閱讀一條命令。 謝謝! – CertifiedGeek

回答

1

插件文件夾沒有被跟蹤,因爲GIT認爲它是一個子模塊。

我遇到了這個問題,因爲我用GIT將這個插件克隆到插件目錄中。而git沒有添加它,因爲它本身就是一個存儲庫。當GIT didnt把它添加到我的跟蹤文件,我手動做的:git add app/Plugin/Migrations/ 這創造了一個gitlink,基本上表現得像一個子模塊,如在此線程:

Git - how to track untracked content?

因爲當時我沒有想使用該插件作爲一個子模塊,我糾正了這個問題,用下面的命令:

git rm --cached app/Plugin/Migrations

git status我看得出來,GIT是現在認識我的插件

然後我可以用一個git add .git commit -m "finally adding the plugin"

我希望這可以幫助別人在將來繼續進行。

謝謝!

相關問題