2014-09-23 110 views
0

我有一個我想要使用git/github的現場網站。該網站有一個local.config數據庫配置和密碼,大量的用戶目錄,緩存目錄和數據庫,我想知道如何最好地使用git/gihub。第一步是將我的現場網站遷移到github。一旦我將它移動到github上,我打算將它克隆到開發服務器上。從開發服務器推送更新到github,然後最終到我的現場網站。git和github與現場網站和開發網站的工作流程

如何將所有文件提交到github而不在local.config中包含密碼?另外,如何在live web服務器,gihub和開發服務器上保留local.config文件,而不必在開發服務器提交更改時覆蓋它們?我想要忽略所有的個人用戶目錄和內容,但是,我想保留主目錄webroot/userdir(用戶目錄將根據webroot/userdir。對於我的緩存目錄,我要確保沒有緩存githubbed,但我想要的目錄「緩存」,以保持。

我很擔心也即將刪除直播網站或它的部分時,我從GitHub更新。

回答

0

Mudassir Razvi是正確的,你可以使用gitignore來停止跟蹤你的local.config文件。但是,我通常認爲這是不好的做法(特別是如果您正在創建一個應用程序供其他人使用,例如使用開源項目)。我更願意繼續跟蹤對local.config文件的更改,以便您仍然可以添加向前移動的新配置變量。一旦網站被克隆在網絡服務器上,您就可以停止跟蹤活動服務器上配置文件的更改。

git update-index --assume-unchanged "config.local" 

這與將其添加到gitignore文件,所不同的是它可以通過幫助隱藏您的敏感文件中添加一點點的安全同樣的效果。如果您的gitignore文件可以通過網絡訪問,這一點特別有用。

更重要的是,這可以防止意外更新,如果您錯誤地更改或刪除您的gitignore文件,並且還允許其他克隆繼續跟蹤更改,因爲gitignore文件也被克隆。

您可以繼續追蹤任何時候使用這個命令:

git update-index --no-assume-unchanged "config.local" 

也是有幫助的,你可以列出哪些文件在任何時候都是假設未發生變化。

git ls-files -v|grep '^h' 
0

添加本地的.config文件提交給gitignore之前,需要將它複製到任意位置,Git不會觸及你選擇忽略的文件。

簡而言之,你不想被githubbed添加到gitignore/exclude。但這意味着你不是控制這些文件的版本。

希望這回答這個問題!

快樂接通!