查看我的提交到分支的长列表

时间:2013-07-16 21:24:14

标签: git

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

git branch -u MyMasterBranch origin/MyMasterBranch

我已经创建了其他分支:

git checkout MyMasterBranch
git checkout -b myJIRAbranch-1

已经处理了那些较小的myJIRAbranch-1分支,并将它们最后合并到MyMasterBranch git merge --squashmyJIRAbranch-1

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

这样做有什么好处?那给了我一份干净又好的报告?

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

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

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