2016-06-07 87 views
1

我現在有點掙扎,我不知道如何繼續下去。 我們最近從SVN切換到GIT。每當我們創建一個網站,我們希望它在版本控制下。在服務器上使用GIT

對於這種情況,在我們所有的客戶網站上,GIT最初已經安裝。這個想法是在本地開發,進一步開發網站,並在完成更改請求後,將其「發佈」到實時服務器。

對於這種情況,我們安裝了我們自己的gitlab -instance,其中部署了代碼。現在,一切都很好。

出於安全原因,我讀過你不應該添加配置文件到版本控制。在我的例子中,我們調用文件config.php。所以我將這個文件名添加到我的.gitignore,並且按預期工作。但是,如果您還希望其他項目也能發展,請問該如何處理?在README中寫如何設置一個config.local.php並將該文件包含在主配置文件中?

下一步:有某些文件和文件夾需要在那裏,即使它們可以是空的。作爲一個例子,我們有一個「臨時」文件夾。我需要該文件夾在那裏,但內容是無關緊要的。我試圖加入這一行.gitignore,但沒有奏效:

/temp/* 

從我的理解,這應該只是排除文件的文件夾,而不是文件夾本身,對不對?

然後再次,這是我的最後一個問題:如果由於某種原因客戶/所有者更改他的CSS文件中的東西,你是不同步的,對吧?你不能直接取出最近簽入的文件而沒有問題(如果你編輯了你的css文件),因爲它們最終會發生衝突。去那裏的路是什麼?我之前讀過關於完全同步的內容,但這並不能保護我不再陷入同樣的​​情況,對吧?

如果這不是正確的問題,請告訴我。 感謝

回答

2

問題1: 如果你想在你的倉庫空目錄(溫度,日誌)必須的地方在那裏,你添加到庫中的文件。 Git不跟蹤目錄,只跟蹤文件。

你可以有每個文件夾中的空.gitkeep。但名字根本不重要。您也可以在每個空文件夾中使用.gitignore

問題2: 沒有什麼錯在你的資料庫的配置文件。你只需要小心祕密。 數據庫訪問密碼當然應該是祕密的,但根據您的情況,以及服務的地址也是如此。

如果使用GitLab CI進行部署,你可以閱讀環境變量的配置和GitLab設置這些(項目 - >設置 - >變量)。這些變量不公開。

問題3: 客戶可以有一個自定義分支,他必須在每次更新項目時重新分配一個分支。 你可以在你的項目中實現自定義的CSS文件,這意味着通過配置/管理頁面上傳自定義的CSS文件。