簡體   English   中英

帶有git和github的工作流程以及實時網站和開發網站

[英]workflow with git and github with live website and development website

我有一個實時網站,我想使用git / github。 該網站有一個local.config,其中包含數據庫配置和密碼,大量用戶目錄,緩存目錄和數據庫,我想知道如何最好地使用git / gihub。 第一步是將我的實時網站移至github。 將其移至github后,我計划將其克隆到開發服務器上。 從開發服務器將更新推送到github,最后到我的實時網站。

如何在不將密碼包含在local.config中的情況下將所有文件提交到github? 另外,當我從開發服務器提交更改時,如何將local.config文件保留在實時Web服務器,gihub和開發服務器上而不會覆蓋它們?

對於用戶目錄,我想忽略所有單個用戶目錄及其內容,但是,我想保留主目錄webroot / userdir(用戶目錄將位於webroot / userdir下。對於我的緩存目錄,我想確保沒有緩存是githubbed,但我希望保留目錄dir。

當我從github更新它時,我也擔心刪除實時網站或其部分。

提交之前,將local.config文件添加到gitignore中。 但是,無論您想去哪里,都可以得到它的副本。 Git不會觸摸您選擇忽略的文件。

簡而言之,您不想被githubbed的所有內容都將添加到gitignore / exclude中。 但這將意味着您沒有版本控制那些文件。

希望這能回答問題!

快樂的混蛋!

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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM