Adi*_*hya 2 git bash merge github git-merge
因此,我正在制作一个脚本,从主远程存储库获取最新标签,并将其与我的自定义更改合并到我的本地存储库中,在单个脚本中大约有 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
Run Code Online (Sandbox Code Playgroud)
重点是我想知道哪些提交已成功合并(并且需要推送到我的自定义 git)。但有时存储库已经是最新的(即远程存储库中的新标签没有任何新提交),在这种情况下,即使没有真正合并任何内容,也会显示“合并成功”消息。
我只想知道哪些所有存储库都经过了合并并且需要推送到我的 git,并且还想知道哪些存储库存在合并冲突(不过这在我的脚本中工作得很好)。我所注意到的是,当 git 进行真正的合并时,它会打开 nano 询问提交消息。但我不知道如何使用它来检测合并。提前致谢。
在开始合并之前,存储当前分支头的哈希值:
git rev-parse HEAD
Run Code Online (Sandbox Code Playgroud)
然后运行合并命令后再次检查,如果相同,则合并无法完成。
您还可以通过检查状态代码来确定状态:
| Match | No Match |
--------------------------------------------
0 | Up to Date | Merged |
--------------------------------------------
1 | Conflict | Something is horribly wrong |
--------------------------------------------
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1218 次 |
| 最近记录: |