Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Git并推送到生产模式(w/diagram)_Git_Svn_Github - Fatal编程技术网

使用Git并推送到生产模式(w/diagram)

使用Git并推送到生产模式(w/diagram),git,svn,github,Git,Svn,Github,如图中所示,开发人员从develope分支中提取代码,然后在进行更新时将代码推回。测试开发分支,然后与主分支或发布分支合并。一旦合并完成,发布分支用所有开发人员的新代码更新,它就可以公开了 我了解Git流程和按顺序工作的实践(当然,你们中的一些人可能有其他方法),但你们如何从测试到生产模式 如果我有一个名为imagesearch.com的网站,并且生产文件位于/htdocs/,在合并之前,您会在服务器上的何处上载代码并测试您的开发分支 旧的方式是使用你的编辑器连接到ftp,下载文件,修改它们,然

如图中所示,开发人员从
develope
分支中提取代码,然后在进行更新时将代码推回。测试开发分支,然后与
主分支
发布分支合并。一旦合并完成,发布分支用所有开发人员的新代码更新,它就可以公开了

我了解Git流程和按顺序工作的实践(当然,你们中的一些人可能有其他方法),但你们如何从测试到生产模式

如果我有一个名为imagesearch.com的网站,并且生产文件位于/htdocs/,在合并之前,您会在服务器上的何处上载代码并测试您的开发分支

旧的方式是使用你的编辑器连接到ftp,下载文件,修改它们,然后重新上传,一旦上传到网站上的用户就可以看到它们了

1.将代码推送到开发分支时,如何在服务器上上传/测试代码?(当本地测试不是选项时)

2.一旦测试完成,并将其合并到发行版中,如何将新代码推送到产品中(/htdocs/在该示例中)


我了解Github是如何工作的,在处理协作项目和开源项目时了解Git本身,人们会为项目做出贡献,但在处理生产环境时,我可以在哪里以及如何找到最佳实践。我不想从Git使用的目录上传我的文件,这似乎会给Git带来安全风险和可能的文件问题

在我看来,在将测试部署到生产环境之前,不在测试环境中运行测试是一种不好的做法

但是,如果这是您想要做的,您可以在生产环境中部署新的开发,以便在htdocs旁边的另一个文件夹中进行测试

为了回答你的问题,我会这么做

1.1为了跟踪您正在测试的内容,您应该创建一个主/发布分支当前状态的标记。从发布分支运行:git标记您的标记名

1.2创建发布分支内容的存档。这将是发布的可交付成果。如果您只有静态内容,那么分支的zip是完美的

1.3将zip上传到生产服务器,并解压缩到htdocs目录旁边的测试目录中

1.4使您的测试目录可从服务器访问,并从该上下文路径测试可交付成果

  • 一旦您对测试结果感到满意,停止服务器,清空htdocs目录,将发布包解压缩到该目录,然后再次启动服务器
    我可以看到它在大型更新中工作,比如对应用程序进行大规模版本更改。然而,我希望看到一个人只需要简单/快速和小更新的过程。如果你改变了几个词,可能是颜色或边框大小。我认为,在一个包含数百个文件(包括图像、css、js、脚本等)的系统中解压这些文件,这将是一项非常艰巨的工作。但是,即使是一个错误的快速“修补程序”,手动处理所有这些文件也需要花费比其价值更多的时间。你可以使用一个类似Puppet的工具。有了这样一个工具,您可以仅从主位置将更改的内容部署到主机。