Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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/bash:知道当前分支是否正在合并_Git_Bash_Merge - Fatal编程技术网

Git/bash:知道当前分支是否正在合并

Git/bash:知道当前分支是否正在合并,git,bash,merge,Git,Bash,Merge,有没有办法知道当前分支机构是否处于合并状态 这意味着,有没有办法知道合并头是否存在 我正在开发一个脚本,它将遍历多个项目,我想自动化一些步骤 我的想法是 # for each project git checkout dev git pull git checkout $myBranch git merge dev if [[THERE_ARE_CONFLICTS]] echo "Some warning" else git push origin $myBranch fi;

有没有办法知道当前分支机构是否处于合并状态

这意味着,有没有办法知道合并头是否存在

我正在开发一个脚本,它将遍历多个项目,我想自动化一些步骤

我的想法是

# for each project
git checkout dev
git pull
git checkout $myBranch
git merge dev
if [[THERE_ARE_CONFLICTS]]
    echo "Some warning"
else
    git push origin $myBranch
fi;

如果存在合并冲突,
git merge
具有非零退出状态。也就是说,您可以简单地使用

git merge dev
if [ "$?" -eq 0 ]; then
   echo "All fine."
else
   echo "There were merge conflicts."
fi
如果您没有访问退出状态的权限,那么按照kfb在评论中的建议,检查是否存在
.git/MERGE\u HEAD
,是检测git当前处于合并状态的可靠方法,如下所述:

[…]记录$GIT_DIR/MERGE_HEAD(使下一个GIT commit命令创建合并提交)[…]


如果存在合并冲突,
git merge
具有非零退出状态。也就是说,您可以简单地使用

git merge dev
if [ "$?" -eq 0 ]; then
   echo "All fine."
else
   echo "There were merge conflicts."
fi
如果您没有访问退出状态的权限,那么按照kfb在评论中的建议,检查是否存在
.git/MERGE\u HEAD
,是检测git当前处于合并状态的可靠方法,如下所述:

[…]记录$GIT_DIR/MERGE_HEAD(使下一个GIT commit命令创建合并提交)[…]


没有特定的Git命令用于此。 您可以检查.git/MERGE*文件是否存在

git merge dev
if [ ! -z "$( ls .git/MERGE* 2>/dev/null )" ]; then
   echo "Merge is on-going"
else
   echo "All fine."
fi

没有特定的Git命令用于此。 您可以检查.git/MERGE*文件是否存在

git merge dev
if [ ! -z "$( ls .git/MERGE* 2>/dev/null )" ]; then
   echo "Merge is on-going"
else
   echo "All fine."
fi

难道
git status
没有报告吗?你的脚本不能只检查
.git/MERGE\u HEAD
文件的存在吗?难道
git status
没有报告吗?你的脚本不能只检查
.git/MERGE\u HEAD
文件的存在吗?