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
基于动态git分支的服务器_Git_Git Branch - Fatal编程技术网

基于动态git分支的服务器

基于动态git分支的服务器,git,git-branch,Git,Git Branch,我们有一个由几个开发人员组成的团队,希望开始在git中使用特性分支,这样我们就可以在真空中协作完成某些任务。问题是,我们的服务器检查非常具体的分支-集成、阶段、生产。如果代码位于功能分支上,我们就无法将其推送到某个中心服务器,公司中的每个人(包括非开发人员)都可以使用和预览它。我考虑开发一些脚本,让开发人员指定一个分支名称,一个“一切正常”的服务器将签出该名称,这样就可以始终有一个服务器可以运行任何给定的分支,用于预览目的。但这似乎有点笨重/不理想。我想知道以前是否有其他人做过类似的事情,如果是

我们有一个由几个开发人员组成的团队,希望开始在git中使用特性分支,这样我们就可以在真空中协作完成某些任务。问题是,我们的服务器检查非常具体的分支-集成、阶段、生产。如果代码位于功能分支上,我们就无法将其推送到某个中心服务器,公司中的每个人(包括非开发人员)都可以使用和预览它。我考虑开发一些脚本,让开发人员指定一个分支名称,一个“一切正常”的服务器将签出该名称,这样就可以始终有一个服务器可以运行任何给定的分支,用于预览目的。但这似乎有点笨重/不理想。我想知道以前是否有其他人做过类似的事情,如果是这样,是否有更好的方法来做呢?

这些事情通常都是根据你所在公司的口味来做的。就其本身而言,没有固定的答案,但根据您所描述的,我认为您可以做两件相当简单的事情之一:

1) 维护一个“预览”分支,在这个分支中,您的开发人员经常合并到其中,这是众所周知的不太稳定(但相当好),并且有一个服务器(内部或外部)不断更新最新的预览分支

2) 如果您希望功能分支更原子化,您可以让您的开发人员保留源代码的两个副本。一个用于工作,一个用于托管自己的“预览”工作。预览工作更稳定,不会在第二次回购时进行编辑。然后,在您的内部网络上,将您的开发人员的姓名映射到网络上(例如),供公司中的每个人预览。当一项功能准备好预览时,向该公司发送一封电子邮件,上面写着:“超级酷功能可在上获得。”


工作流在git中是一个非常个人化的主题,有很多方法可以实现它。添加评论,我可以帮助您更好地调整此方法。

您的问题描述得非常模糊。如果这只是一个没有外部可见性的开发服务器,则可以执行以下操作:

  • 在另一个位置创建新存储库,并将其设置为远程跟踪分支
  • 安装git钩子(服务器端),如所述
git钩子应该强制服务器拉动或向前推服务器。然后,您需要确保开发服务器自动部署应用程序

您可以从jabber、电子邮件、rss或简单的ssh访问开始选择任何您喜欢的方法

最简单的可能是ssh访问方法:

  • 通过ssh运行远程脚本。请参阅其他stackoverflow
  • 通过脚本或编程语言访问ssh远程帐户:如
使用这些构建块,您应该能够定制自动部署。 事实上,即使是谷歌也给出了大量的点击率