Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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
Version control 如何在具有开发和生产分支的服务器上配置git?_Version Control_Git - Fatal编程技术网

Version control 如何在具有开发和生产分支的服务器上配置git?

Version control 如何在具有开发和生产分支的服务器上配置git?,version-control,git,Version Control,Git,我对git绝对是新手。我是一个相当大的项目的唯一开发人员,希望开始保持代码更改的历史记录 我目前在Apache中有一个包含许多虚拟主机的LAMP堆栈。首先,我想专注于我的主站点,它有一个开发和生产堆栈。目前,我有两个虚拟主机: dev.mydomain.com mydomain.com 我只在dev.mydomain.com虚拟主机中工作。我可以随时浏览到dev.mydomain.com,实时查看我的更改。当我对我的更改感到满意时,我会运行bash脚本将我的更改推送到生产环境中 sudo r

我对git绝对是新手。我是一个相当大的项目的唯一开发人员,希望开始保持代码更改的历史记录

我目前在Apache中有一个包含许多虚拟主机的LAMP堆栈。首先,我想专注于我的主站点,它有一个开发和生产堆栈。目前,我有两个虚拟主机:

  • dev.mydomain.com
  • mydomain.com
我只在dev.mydomain.com虚拟主机中工作。我可以随时浏览到dev.mydomain.com,实时查看我的更改。当我对我的更改感到满意时,我会运行bash脚本将我的更改推送到生产环境中

sudo rsync -avh --delete --stats --progress /var/www/dev.mydomain.com/ /var/www/mydomain.com/ --exclude-from '/usr/local/bin/exclude.txt'
我想用git模仿这个想法

  • 我是否在运行站点的实际web服务器上安装git
  • 如何配置git,以便我在网站上工作时仍能在dev.mydomain.com上实时访问这些更改

  • 我已经阅读了大多数入门git教程,我理解入门的基本命令,但保持相同的生产周期很重要。有没有一种方法可以实现这一点,或者有没有其他类似的方法?

    您可以在每台计算机上安装git作为客户端

    git依赖于您描述的大部分分支

    一个适合单独开发人员的工作流示例是,您在master上进行开发,然后根据需要在master上创建分支,以反映此时的代码。如果要按名称跟踪这些分支的历史,可以将其称为prod_mmddyyyy。
    您还可以让“prod”只是一个得到更新的分支,例如,通过从
    prod
    分支执行
    git merge master

    然后,您可以通过
    git checkout branch\u name
    您还可以找到


    有用。

    您可以有两个分支(例如master和developer)并使用git钩子,这样当您推动master时,服务器会自动在vhost上发布它

    我也认为这可以帮助你