每次推送到其中一个分支时,如何从两个不同的分支机构中检出两个工作副本?

时间:2015-11-16 17:35:26

标签: git bash

我有一个应用程序的两个分支,这两个分支为我们的应用程序使用两个不同的配置文件。在我使用的远程服务器

GIT_WORK_TREE="/home/webui/projects/startmeup-ui" git checkout -f

效果很好,然后我修改了它,以便根据我推送到它的分支将签出副本到另一个目录。

#!/bin/bash
while read oldrev newrev refname
do
    branch=$(git rev-parse --symbolic --abbrev-ref $refname)
    echo "this is branch '$branch'" > /home/webui/mytest.txt
    if [ "master" = "$branch" ]; then
        echo "if was true, means 'master'" >> /home/webui/mytest.txt
        GIT_WORK_TREE="/home/webui/projects/startmeup-ui" git checkout -f
    else
        echo "if was false, means 'debugging'" >> /home/webui/mytest.txt
        GIT_WORK_TREE="/home/webui/projects/navops-test" git checkout -f
    fi
done

正如您所看到的,我正在写一个文件/home/webui/mytest.txt以查看正在发生的事情。此文件中的输出是预期的

this is branch 'debugging'
if was false, means 'debugging'

当我推动debbugging和

this is branch 'master'
if was true, means 'master'

当我推动掌握

问题是当我推送到调试时/ home / webui / projects / navops-test中的内容没有得到更新

任何想法为什么?

0 个答案:

没有答案