使用.Git将网站置于源代码管理之下

时间:2015-04-15 08:49:10

标签: git web post-update

我想了解如何为生产服务器上的现有网站设置Git(仅托管一个网站 - 没有vHosts等)。

有几个如何实现这一目标的例子 - 但所有这些都是指你何时开始一个新项目。

我想复制这个场景,该场景描述了如何设置远程存储库并创建更新后的挂钩,以便在结账时将文件复制到www目录中。这是我能掌握的概念(https://danielmiessler.com/study/git/#website

但是,我面对网络服务器上存在实时代码的情况,我想在所有现有的实时文件上初始化Git,然后在我的本地计算机上进行开发。

对不起,我不太了解Git了解如何从我在生产中的服务器上使用实时代码的起始位置实现Daniel文章中描述的结果。

我的配置(CentOS 6 / Nginx):

Git Repository(这应该位于与www不同的位置)

/home/username/repository/website.git

发布更新挂钩文件位置

/home/username/repository/website.git/hooks/post-update

发布更新挂钩文件条目

GIT_WORK_TREE=/var/www/website git checkout -f

网站目录

/var/www/website

我也有一个忽略文件

/var/www/website/.gitignore

有人可以帮助Git命令。我可以初始化/var/www/website/.git(初始提交)但不知道如何设置/user/username/repository/website.git以文章中描述的方式工作。

1 个答案:

答案 0 :(得分:1)

指南中显示的步骤与新项目或现有项目完全相同。创建html文件的步骤2中给出的示例可以通过将现有内容添加到工作目录中来替换。

因此,在新的工作文件夹中运行git init,虽然这可以在现有文件夹中完成,因为它不会更改任何当前文件。将您当前的网络内容放入同一个文件夹,无论是从备份导入,还是直接从您的实时环境下拉,它都不重要。

现在,您需要为版本控制下的所有文件运行git add命令。您不需要单独执行它们,接受通配符和目录。使用git status检查您想要的所有内容是否已暂存,然后使用适当的消息git commit -m进行检查。

我建议您在本地创建另一个目录并在那里发出git init --bare命令,设置钩子以推送到另一个目录,然后使用

推送到裸仓库
git push --set-upstream  [/your/local/bare/repo] master

只是为了检查您是否拥有所有内容并且您对git感到满意