Git 与分支中的提交相关

Git 与分支中的提交相关

我有一个关于 git 提交和分支的快速问题。

假设我想根据两个日期获取两个提交 idn。

我在“主分支”上做了如下操作。

git rev-list --since='2015-01-01' --reverse origin/master | head -1
git rev-list --until='2015-06-30' origin/master | head -1

现在如果我切换分支,我会执行以下操作:

git checkout testing

我是否只能获得来自测试分支的提交 ID,还是还能够获得来自包括主分支在内的所有其他分支的提交 ID?

简单的“是”或“否”就可以了,我想确保我不会从主分支获取任何提交,这样我只能从测试分支上的提交获取代码,而不会从任何其他分支获取代码。

提前致谢。

答案1

来自文档git rev-list

列出可通过从给定提交的父链接访问的提交,但排除可通过前面带有 ^ 的提交访问的提交。默认情况下,输出按时间倒序排列。

您检出了哪个分支并不重要。您必须指定分支(或一般而言是目标提交)作为命令的参数rev-list

您的问题的答案是,即使您在不同的分支上,您也会获得相同的输出。要获取testing分支的提交,您需要使用:

git rev-list --since='2015-01-01' --reverse testing | head -1
git rev-list --until='2015-06-30' testing | head -1

相关内容