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

Bring Website Under Source Control using .Git

我想要一些关于如何在生产服务器上为现有实时网站设置 Git 的建议(仅托管一个网站 - 没有 vHosts 等)。

有几个关于如何实现这一点的示例 - 但都是在您开始新项目时参考的。

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

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

很抱歉,我对 Git 了解如何从我在生产服务器上拥有实时代码的起点出发,了解如何实现 Daniel 文章中描述的结果。

我的配置 (CentOS 6/Nginx):

Git 存储库(这应该位于与 www 不同的位置)

/home/username/repository/website.git

Post 更新挂钩文件位置

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

Post 更新挂钩文件条目

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 以按照文章中描述的方式工作。

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

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

现在您需要 运行 git add 命令来控制所有您想要的文件。您不需要单独执行它们,可以接受通配符和目录。使用 git status 检查您想要的一切是否已上演,然后 git commit -m 使用一些合适的消息。

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

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

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

感到满意