0

我创建了一个这样的 Master 分支:

git branch -u MyMasterBranch origin/MyMasterBranch

我已经创建了其他分支,如下所示:

git checkout MyMasterBranch
git checkout -b myJIRAbranch-1

并在那些较小的myJIRAbranch-1分支上工作,并在最后将它们合并到MyMasterBranchwithgit merge --squashmyJIRAbranch-1

现在我想找到我从 JIRA 分支到 MyMasterBranch 中所做的那些合并的 git 提交号?

有什么好的命令来做到这一点?这给了我一个干净而漂亮的报告?

4

2 回答 2

2

正如 Chronial 所指出的,有关单个提交的信息不可直接检索,除非您--log在说git merge --squash. 在后一种情况下,您可能会在压缩的提交消息中看到单个提交的 SHA1 哈希,并且应该能够使用这些哈希检索提交。

如果没有,我们可能会认为原始分支丢失了。这个网站上的几个问题已经解决了这个问题:

总结一下,git refloggit log -g你的朋友。所有解决方案都假定您仍然可以访问您的开发存储库(单个提交所在的位置)并且提交不是“太旧”(否则git gc可能已经不可撤销地清理了它们)。

于 2013-07-16T23:08:36.733 回答
1

我不认为这是可能的。你告诉 git 对合并撒谎,它确实做到了。如果您使用.git,Git 不会存储任何有关合并的信息--squash

现在基本上不可能找到合并提交。您可以编写一个脚本来进行一些猜测——获取 master 中的每个差异并尝试在 jira 中找到相同的更改。这显然不会产生可靠的结果,但这是我能想到的最好的结果。没有内置的 git 命令可以做到这一点。

于 2013-07-16T21:44:01.650 回答