是否所有文件结构都需要相同才能使用 GitHub?
Do all file structures need to be identical to use GitHub?
我们终于开始将 GitHub 用于我们的 Web 开发工作流程。我知道,欢迎来到 19 世纪,对吧?
我们正在尝试设置现有项目,但我 运行 遇到文件夹结构问题,我不知道如何处理。
在我们的本地开发机器上,我们创建了一个名为 website-A.com 的文件夹。该文件夹内是制作网站的所有文件 - 它是根目录。
在我们的生产服务器上,根位于 /var/blah/sites/website-A。com/html/
在 GitHub 我们的存储库称为 website-A.com
我 运行 git init
在 /var/blah/sites/website-A.com/html/ 上,这是我们生产服务器上的根文件夹。
在服务器上的 /html(根)文件夹中执行 git clone git@github.com:myaccount/website-A.com.git
时 git 在根目录中放置一个 'website-A.com' 文件夹。
我的问题是,如何让生产服务器上的 master b运行ch 与 GitHub 同步,而无需我的 git 命令创建一个名为 [=31 的新目录=] 在生产服务器上的 /html 文件夹中?
我们是否需要更改本地计算机上的文件夹结构?有没有一种简单的方法可以在 GitHub 上创建这个 html 文件夹,或者我们需要重做所有内容吗?
这是一个概念性问题,而不是 Git 问题。
您在这里修改了两件事 - 源代码控制的位置和您的部署方案。
您的源代码控制布局应该独立于您的部署方案;您可以在部署时将文件放置在非常不同的位置,或者在部署时突然出现通常不存在于您的开发中的文件(想想动态填充的图像、生成的 PDF 等)。
您的项目布局应符合您习惯的工作方式。这种风格根本不重要,它应该在 开发人员的 机器上完成, 而不是 主服务器。该特定布局就是您要推送到 GitHub 的内容。是的,这个 特定布局必须对所有开发人员都是同质的,否则就会发生冲突(and/or 痛苦)。
当需要部署到主服务器时,您可能希望从远程服务器的上游拉取您的更改,然后制定出最适合您需要的打包和部署方案。如果它是基于 JavaScript + HTML 的,那么有一些构建系统(比如 Gulp)可以让你克服构建必要工件的障碍,并有可能将它们移动到你需要的地方部署它们。
我们终于开始将 GitHub 用于我们的 Web 开发工作流程。我知道,欢迎来到 19 世纪,对吧?
我们正在尝试设置现有项目,但我 运行 遇到文件夹结构问题,我不知道如何处理。
在我们的本地开发机器上,我们创建了一个名为 website-A.com 的文件夹。该文件夹内是制作网站的所有文件 - 它是根目录。
在我们的生产服务器上,根位于 /var/blah/sites/website-A。com/html/
在 GitHub 我们的存储库称为 website-A.com
我 运行 git init
在 /var/blah/sites/website-A.com/html/ 上,这是我们生产服务器上的根文件夹。
在服务器上的 /html(根)文件夹中执行 git clone git@github.com:myaccount/website-A.com.git
时 git 在根目录中放置一个 'website-A.com' 文件夹。
我的问题是,如何让生产服务器上的 master b运行ch 与 GitHub 同步,而无需我的 git 命令创建一个名为 [=31 的新目录=] 在生产服务器上的 /html 文件夹中?
我们是否需要更改本地计算机上的文件夹结构?有没有一种简单的方法可以在 GitHub 上创建这个 html 文件夹,或者我们需要重做所有内容吗?
这是一个概念性问题,而不是 Git 问题。
您在这里修改了两件事 - 源代码控制的位置和您的部署方案。
您的源代码控制布局应该独立于您的部署方案;您可以在部署时将文件放置在非常不同的位置,或者在部署时突然出现通常不存在于您的开发中的文件(想想动态填充的图像、生成的 PDF 等)。
您的项目布局应符合您习惯的工作方式。这种风格根本不重要,它应该在 开发人员的 机器上完成, 而不是 主服务器。该特定布局就是您要推送到 GitHub 的内容。是的,这个 特定布局必须对所有开发人员都是同质的,否则就会发生冲突(and/or 痛苦)。
当需要部署到主服务器时,您可能希望从远程服务器的上游拉取您的更改,然后制定出最适合您需要的打包和部署方案。如果它是基于 JavaScript + HTML 的,那么有一些构建系统(比如 Gulp)可以让你克服构建必要工件的障碍,并有可能将它们移动到你需要的地方部署它们。