gpt4 book ai didi

git - 在 git 中显示未提交 merge 的父项

转载 作者:太空狗 更新时间:2023-10-29 13:26:44 27 4
gpt4 key购买 nike

如何在 git 中查看未提交 merge 的父项?我可以通过 git log -1 看到一位家长,但我如何看到另一位家长?

这在 Mercurial 中很容易做到:

$ hg parents
changeset: 2:b65656dbfff6
tag: tip
parent: 0:1806d848df54
user: Stephen Rasku
date: Tue Nov 27 10:14:31 2012 -0800
summary: c

changeset: 1:9aaa22944f41
user: Stephen Rasku
date: Tue Nov 27 10:14:01 2012 -0800
summary: b

git 中有什么等价物吗?我知道您可以在 git 中看到提交 merge 的父项。这是专门为了查看未提交 merge 的父项。

最佳答案

未提交 merge 的源存储在 .git/MERGE_HEAD 中。如果您正在执行 Octopus merge ,您将在此文件中有多个提交 ID,以换行符分隔。 merge 的目标,当然是HEAD

如果您想要详细的输出,类似于您从 Mercurial 提供的示例,您可以将其输入 git log,如您所指出的。编写一个 shell 脚本来处理这个问题可能是最简单的。

如果您将此脚本命名为 git-parents,并将其放在您的路径中,您只需运行 git parents 即可获得与您所描述的类似的体验:

#!/bin/sh
git --no-pager log -1

WORKDIR=`git rev-parse --show-toplevel`
if [ -f "${WORKDIR}/.git/MERGE_HEAD" ]; then
for a in `cat "${WORKDIR}/.git/MERGE_HEAD" | xargs` ; do
git --no-pager log -1 $a
done
fi

关于git - 在 git 中显示未提交 merge 的父项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13590740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com