如何在git中看到未提交的合并的父级?我可以通过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中看到一个已提交合并的父母。这是专门为了看到未提交合并的父母。
答案 0 :(得分:3)
未提交的合并的来源存储在.git/MERGE_HEAD
中。如果您正在执行章鱼合并,则此文件中将有多个提交ID,换行符分隔。合并的目标当然是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
答案 1 :(得分:-2)
我没有回复在这里尝试,但这不会起作用吗?
$ git show HEAD^ # shows first parent
$ git show HEAD^2 # shows second parent
$ git show HEAD^3 # and so on...
你是否需要显示所有父母,无论多少?我想你可以用git log -1 --parents
或类似的东西做一些脚本。