Ruslan Gorbunov Asked:2020-07-31 22:52:20 +0000 UTC2020-07-31 22:52:20 +0000 UTC 2020-07-31 22:52:20 +0000 UTC 如何找出哪些分支已合并到特定分支中 772 如何通过知道源分支和目标分支的提交哈希来找出哪些分支被合并到一个分支中 git 2 个回答 Voted aleksandr barakin 2020-08-01T01:06:16Z2020-08-01T01:06:16Z 一般来说,没办法。 毕竟,git程序中的“分支”不是一组(以某种方式“标记”的)提交,而只是指向提交的指针。此外,“浮动”:随着提交的到来,它的位置会发生变化。 此外:任意数量的指针都可以指向同一个提交。 甚至更多:合并时,您根本不能使用任何指针,而是使用所需提交的哈希。 但是在生活中实际发生的情况下,在一定程度上可以肯定,仍然可以得出一些关于“什么与什么融合”的经验结论。例如,使用gitlog程序命令: $ git log --oneline --graph --all 或一些 GUI 提交历史查看器。 Best Answer Zempik 2022-09-14T17:27:40Z2022-09-14T17:27:40Z 例如,您可以这样做: git log --oneline --merges --ancestry-path <hash_first>..<hash_last> 在哪里, oneline - 输出格式 合并 - 仅合并提交 祖先路径 - 仅打印 hash_first 和 hash_last 之间的提交 hash_first - 第一次提交(按时间) hash_last - 最后一次提交(及时) 输出将是合并提交的列表。你也可以判断这个提交来自哪个分支(这里可能有不准确的地方,实际上它显示了这个提交属于哪个分支)。 git branch --contains <merge_commit> 其中 merge_commit 是上一个命令的输出
一般来说,没办法。
毕竟,git程序中的“分支”不是一组(以某种方式“标记”的)提交,而只是指向提交的指针。此外,“浮动”:随着提交的到来,它的位置会发生变化。
此外:任意数量的指针都可以指向同一个提交。
甚至更多:合并时,您根本不能使用任何指针,而是使用所需提交的哈希。
但是在生活中实际发生的情况下,在一定程度上可以肯定,仍然可以得出一些关于“什么与什么融合”的经验结论。例如,使用git
log程序命令:或一些 GUI 提交历史查看器。
例如,您可以这样做:
在哪里,
输出将是合并提交的列表。你也可以判断这个提交来自哪个分支(这里可能有不准确的地方,实际上它显示了这个提交属于哪个分支)。
其中 merge_commit 是上一个命令的输出