使用git和github与live网站和开发网站的工作流程

时间:2014-09-23 11:02:17

标签: git github

我有一个实时网站,我想使用git / github。该网站有一个local.config与数据库配置和密码,许多用户目录,缓存目录和数据库,我想知道如何最好地使用git / gihub。第一步是将我的实时网站移动到github。一旦我将它移动到github,我计划在开发服务器上克隆它。从开发服务器推送更新到github,然后最终到我的实时网站。

如何在不在local.config中包含密码的情况下将所有文件提交到github?另外,当我从开发服务器提交更改时,如何在实时Web服务器,gihub和开发服务器上保留local.config文件而不覆盖它们?

对于用户目录,我想忽略所有单个用户目录和内容,但是,我想保留主目录webroot / userdir(用户目录将在webroot / userdir下。对于我的缓存目录,我想要确保没有缓存是githubbed但我希望dir'缓存'保持不变。

当我从github更新它时,我也非常担心删除实时网站或部分内容。

2 个答案:

答案 0 :(得分:0)

在提交之前将local.config文件添加到gitignore。但是,无论你想要什么,都要有它的副本。 Git不会触摸您选择忽略的文件。

简而言之,无论你不想被githubbed,都要添加到gitignore / exclude。但这意味着你不是控制这些文件的版本。

希望这能回答这个问题!

快乐的gitting!

答案 1 :(得分:0)

Mudassir Razvi是正确的,你可以使用gitignore来停止跟踪你的local.config文件。但是,我通常认为这是不好的做法(特别是如果您正在为其他人创建一个应用程序,例如使用开源项目)。我更喜欢继续跟踪对local.config文件的更改,以便您仍然可以向前添加新的配置变量。在网络服务器上克隆网站后,您只需停止跟踪对实时服务器上配置文件的更改。

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

这与将其添加到gitignore文件具有相同的效果,除了它可以通过帮助隐藏敏感文件来添加一点安全性。如果您的gitignore文件可通过Web访问,这将非常有用。

更重要的是,如果您错误地更改或删除了gitignore文件,这可以防止意外更新,并且它还允许您的其他克隆继续跟踪更改,因为gitignore文件也被克隆。

您可以使用此命令随时恢复跟踪:

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

同样有用,您可以随时列出假设哪些文件不变。

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