2017-02-13 76 views
2

我一直在運行一個寫在Laravel中的項目,它使用起來很有趣。GIT&Laravel停止某些文件

我使用的設置是vagrant box Homestead配置,因此我在本地計算機上執行大部分工作,並在開始準備就緒時將其推送到開發服務器。在安裝過程中,我不得不推出日誌文件&以使其正常工作,但現在我處於一個階段,我通過命令行執行的每個提交都包含storage/logs/laravel.log,然後當我下拉它時要求我存儲/提交在服務器上,因爲它們不同。

我已經把它添加到的.gitignore文件中的項目的根目錄下,它看起來像這樣:

/node_modules 
/public/storage 
/.idea 
Homestead.json 
Homestead.yaml 
/storage/logs/ 
/vendor/ 

供應商不會引起我任何問題,除非我修改它,因此它的沒有太大的麻煩,它只是不會停止上升的日誌。如果我使用GUI工具,我可以手動告訴它不要上去,但我想讓它能夠使用終端來推送它,而不必擔心日誌需要存儲在服務器上。

我相信這是相同的.env所以我想一個解決方案將適用於兩者。我也注意到,PHPStorm已經說過,他們被忽略,但如果有幫助,用git跟蹤。

+0

我認爲你要找的是'logs'目錄下的'.gitkeep'文件和一個忽略其中的日誌 - 'logs/* .log'的規則。你不應該版本化日誌文件。 –

+0

.gitkeep不在/ storage/logs文件夾中,只是另一個忽略,我應該手動添加一個,如果有的話,是否有我可以查看的參考? – Rlemm1991

回答

1

如果你在GitHub上Laravel回購看一看,你會發現在存儲目錄下的.gitignore文件:

https://github.com/laravel/laravel/blob/master/storage/logs/.gitignore

這自帶的默認安裝,以紀念日誌目錄被忽略。如果您錯誤地刪除了這些內容,則應該能夠恢復它並解決您遇到的問題。

同樣重要的是,您的工作流程並未遵循最佳實踐。關於「供應商不會導致我和問題,除非我做出更改」 - 您應該從不更改您的供應商目錄。此文件夾是第三方軟件包和插件的歸屬,直接修改它們會導致多個問題,其中包括以下主要問題:

  1. 您不能在不中斷應用程序的情況下更新修改的軟件包。
  2. 其他開發人員將無法輕鬆地複製您的安裝。

實際上,供應商目錄根本不應該版本化。處理文件中的文件的最好方法是使用軟件包管理器like Composer來完成所有這些工作。這意味着您可以輕鬆地在不同版本的軟件包之間切換,並且只通過版本控制作曲文件,其他開發人員可以運行composer installcomposer update以快速準確地將開發環境同步到您的開發環境。

+0

我的歉意,我當我的意思是我修改供應商文件夾的composer.json文件的意思,雖然欣賞警告。 – Rlemm1991

+0

還指出/存儲/日誌確實包含忽略類似於提供的鏈接的git: * !。gitignore – Rlemm1991

+0

啊,composer.json更有意義。你有沒有通過創建.gitignore來忽略日誌的運氣? – Sheraz