如何在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
Run Code Online (Sandbox Code Playgroud)
在git中有什么相同的东西吗?我知道你可以在git中看到一个已提交合并的父母.这是专门为了看到未提交合并的父母.
未提交合并的源存储在.git/MERGE_HEAD. 如果您正在执行 octopus 合并,则此文件中将有多个提交 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
Run Code Online (Sandbox Code Playgroud)