我创建了一个这样的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提交号码?
这样做有什么好处?那给了我一份干净又好的报告?
答案 0 :(得分:2)
正如Chronial所说,除非您在说--log
时提供git merge --squash
开关,否则无法直接检索有关个别提交的信息。在后一种情况下,您可能会在压缩的提交消息中看到单个提交的SHA1哈希值,并且应该能够使用这些哈希值检索提交。
如果没有,我们可能会认为原来的分支丢失了。本网站上的一些问题已经解决了这个问题:
总结一下,git reflog
和git log -g
是您的朋友。所有解决方案都假定您仍然可以访问您的开发存储库(单个提交所在的位置),并且提交不是“太旧”(否则git gc
可能已经不可撤销地清除它们。)
答案 1 :(得分:1)
我认为这是不可能的。你告诉git谎言合并,它确实存在。如果您使用--squash
,Git不会存储有关合并的任何信息。
现在基本上不可能找到合并提交。你可以编写一个做一些猜测的脚本 - 获取master中的每个diff并尝试在jira中找到相同的更改。这显然不会产生可靠的结果,但这是我能想到的最好的结果。这没有内置的git命令。