2015-02-24 175 views
0

我仍然有點困惑如何正確使用github。 我在Github上有一個主分支,它與我在服務器上的活動站點保持同步。 我也做了一個分支dev-1,它是我的本地代碼的最新版本。如何使用Github推拉現場和本地主機配置

在我的本地站點上,配置文件配置了一個回調URL localhost,而在活動站點上,配置使用當然的實際URL。

但我如何更新我的代碼,我在本地主機上測試,然後要將它推送到活動網站,而不交替配置文件?

我編輯.gitignore文件以排除配置文件夾,但它不工作,或者我做錯了。

什麼是推薦的用戶流量?

+0

配置文件不應受版本控制。也許你可以更具體地說你的意思是「它不工作」。什麼不行?將條目添加到'.gitignore'只是使得它們在您執行'git status'等時不會顯示出來。如果您已將它們放入版本控制中,請複製配置文件/文件夾,然後將其從版本控制中刪除,並將這些副本作爲您的配置複製到您的系統上。然後,您可以推拉所有其他文件而不影響您的配置。你可以添加一些推/拉鉤來自動更新特定分支。 – Archimedix 2015-02-24 12:54:14

+0

我認爲這正是我需要的。我正在考慮把配置文件/文件夾放入.gitignore將歸檔。但他們仍然出現在github回購上。那麼,我如何從版本控制中刪除文件/文件夾呢?或者,我該如何排除它們(當我開始一個新的github項目時)注意:我正在使用ive棧和他的文件夾結構。所以排除文件夾config/env是我需要的。並將它們保持在兩個系統上,一旦配置完全不變。這是正確的嗎? – ron 2015-02-24 13:20:12

+0

排除在第一位:不要添加它們並將其路徑放在'.gitignore'中。刪除它們:通過使用版本控制的刪除功能,例如'git rm',但正如我所說的,首先備份你的配置(或者所有的東西),然後從版本控制中刪除它們,然後再將它們添加到你的工作目錄(而不是版本控制)並忽略它們。我認爲你應該仔細閱讀使用git,例如[here](http://git-scm.com/book/en/v2)或[here](http://gitref.org/)。 – Archimedix 2015-02-24 14:51:22

回答

0

如果排除config文件夾,您將如何在生產環境或本地環境中使用該配置?你將如何改變這兩個角色?可能會有不同的回調URL,API的用戶名/密碼等。另外,不建議在git樹上添加任何敏感信息,如用戶名/密碼(即使github帳戶是私有的)。

我認爲最好的做法是擁有一個通用配置模塊,它可以從環境中獲取任何不同或敏感的設置參數。你當然會在生產服務器和本地開發服務器上使用bashrc或其他類似的技術來設置這個環境變量。

+0

我想配置2個不同的配置文件,每個系統都有其特定的正確設置(localhost和server),然後在進行pull,push和commit時保持它們不同步。 – ron 2015-02-24 13:24:28

+0

如果它是兩個不同的文件,一個用於生產,另一個用於測試例如,爲什麼你不希望他們在版本控制?它是敏感信息,您不應該添加(如用戶名/密碼),並且可以從env變量中檢索這些信息。 – tayfun 2015-02-24 14:00:36

+0

@tayfun配置文件(配置默認值除外)不應該在版本控制中。決不。 – Archimedix 2015-02-24 18:37:48