Git 合并分支的最后一个提交/提交者



可能已经被问到了,但我在这里找不到它。

我有一个分支FEATURE合并到分支STABLE,当前当我从STABLE执行git show时,我得到最后一个提交,即

commit 265d684b67e66ba762bd438c44e49881f7fd571b
Merge: 5285837 78d9687
Author: xxxxx
Date:   Thu Sep 6 18:58:46 2012 -0400
    Merge branch 'FEATURE' into STABLE

无法找到在FEATURE分支合并到STABLE之前,谁最后一次对其进行了什么更改?

这是向最后提交一些更改的提交者发送通知所必需的。

如果需要任何进一步的信息和任何帮助/建议,请告诉我?

不是你想要的,但为了打印出所有远程分支及其最后一次提交的作者,我在Bash上使用了以下命令:

IFS=$'n' && for branch in $(git branch --all | grep "remotes/origin" | sed "s/->.*$//" | sort); do echo "$(git log --format=format:"%an" ${branch//[[:space:]]/} | head -n 1) - ${branch//[[:space:]]/}"; done | sort && unset IFS

确保先执行git fetch --all,以便在本地存储库中镜像所有公共分支。

对于旧版本的Git(1.9.x及更早版本),Git分支的输出不同,它没有在箭头("->")后打印本地跟踪分支。

IFS=$'n' && for branch in $(git branch --all | grep "remotes/origin" | sort); do echo "$(git log --format=format:"%an" ${branch//[[:space:]]/} | head -n 1) - ${branch//[[:space:]]/}"; done | sort && unset IFS

合并前的最后一次提交在您的案例中有78d9687哈希。它是提交消息中的第二个。所以,如果你想知道是谁做的,试试

$ git show 78d9687

您可以使用相对提交表示法来显示提交。在您的示例中,由于您将FEATURE合并到了STABLE中,所以STABLE上的最后一次提交是HEAD^1(第一个父级),而FEATURE上的最后提交是HEAD^2(第二个母级)。

因此,为了显示FEATURE引入的最后更改,您可以使用:

git show HEAD^2

显示之前的一个:

git show HEAD^2~1

等等。

相关内容

  • 没有找到相关文章

最新更新