使用 .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
感到满意
我想要一些关于如何在生产服务器上为现有实时网站设置 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
感到满意