【发布时间】:2019-05-07 06:38:24
【问题描述】:
所以我正在制作一个脚本,该脚本从主远程存储库获取最新标签,并将其与我的自定义更改合并到我的本地存储库中,大约 10-20 个存储库,在一个脚本中。合并部分看起来像这样:
git fetch -q https://android.googlesource.com/platform/$REPO_PATH $TAG
git merge -q --no-ff FETCH_HEAD
if [ $? -eq 0 ]; then
echo -e "$REPO_PATH merged succesfully"
else
echo -e "\n$REPO_PATH has merge conflict(s)\n"
fi
重点是我想知道哪些所有提交成功合并(并且需要推送到我的自定义 git)。但有时 repos 已经是最新的(即远程 repo 中的新标签没有任何新的提交),在这种情况下,即使没有真正合并任何内容,也会显示“合并成功”消息。
我只想知道哪些所有存储库都进行了合并并需要推送到我的 git,并且还想知道哪些所有存储库都有合并冲突(尽管这在我的脚本中工作正常)。我所注意到的是,当 git 进行真正的合并时,它会打开 nano 询问提交消息。但我不知道如何使用它来检测合并。提前致谢。
【问题讨论】:
-
您可以在合并期间禁止提交消息。 stackoverflow.com/a/36189488/989920
-
不,这不是重点。请阅读最后一段
-
这就是我评论的原因,没有回答。为什么正确合并很重要?如果它是最新的,那么推送无论如何都不会做任何事情。
-
不,正如我所提到的,这个脚本处理超过 10 个 repos,我不想 cd 进入每个 repos 并执行 git push 来检查我是否需要推送它
-
为什么要检查?只需推入没有失败合并的回购(不是“最新的”)。
标签: bash git github merge git-merge