简化Git程序

时间:2011-10-22 09:23:02

标签: git

我使用Git在我的生产系统中部署我的项目。我遵循的程序是:

  • 我第一次克隆存储库,在配置文件中进行更改(在任何生产服务器中不同),然后创建一个名为“pro”的分支来保存这些更改。生产服务器始终在“专业”分支中工作。
  • 然后,当有更改并且我想要更新我的服务器时,我执行一个批处理文件(或多或少):

    git checkout master
    git pull
    git checkout pro
    git rebase master
    

我确信git有一种更简单的方法可以做到这一点,但我不知道如何(或许可以从另一个分支更新一个分支)。只是为了好奇并且更多地了解Git。

2 个答案:

答案 0 :(得分:4)

我会推荐一种不同的方法,因为它不是所有environements(dev,UAT,prod,...)的通用。

为什么不使用 content filter

  • 版本化模板配置文件
  • 多个配置值(包含“prod_values”文件)
  • 一个版本脚本(称为“smudge”脚本)能够识别其执行环境(prod或not prod)并生成正确(无版本)的最终配置文件

content filter driver

您可以在正确的生产目录中使用post-receive hook checkout'ing your project推送到一个裸仓库。

由于此项目中已声明了内容过滤器,smudge脚本将自动(在结帐时)创建正确的配置文件。

答案 1 :(得分:2)

应该有效(在pro上)

git fetch --all
git rebase origin/master

但是,我认为4线程没有任何问题;)