我有一个应用程序的两个分支,这两个分支为我们的应用程序使用两个不同的配置文件。在我使用的远程服务器
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中的内容没有得到更新
任何想法为什么?