繁体   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