我知道如果我们知道提交ID,那么我们可以使用reset --hard来提交:
git reset --hard [[commit_id]]
Question 1:
如果我想找到指定日期的提交,该怎么做?
看起来Linux-next将为每个日期添加一个标记,例如:
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tag/?id=next-20151001
这是10月1日的标签,因此我很容易发现当天的提交是991f9697366015fef03eeeddb4d1ba0f44ff3dc7。
但是,如果我想通过以下链接访问8月1日的提交:https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tag/?id=next-20150801
它会告诉我不好的标签。为什么呢?
Question 2:
我怎能找到3个月前的提交?
例如,我知道6月4日的提交,提交ID为:94feb25d6fcd34b0d45c18cf0185d83d0c13c60a
但是在我的克隆Linux-next中,如果我运行下面的命令,它将投诉无效提交;如果我跑
git show 94feb25d6fcd34b0d45c18cf0185d83d0c13c60a
,它会投诉不良对象。
如何在3个月前重置Linux?
user @ test_machine MINGW64 / d / Test / linux-next((e1883c6 ...)| BISECTING) $ git show 94feb25d6fcd34b0d45c18cf0185d83d0c13c60a致命:坏对象 94feb25d6fcd34b0d45c18cf0185d83d0c13c60a
答案 0 :(得分:1)
您想使用--since
中指定的--after
和man git-log
。
答案 1 :(得分:1)
你不能,linux-next git树每天都会重新定位,以前的标签和对象会从存储库中消失。
然而,有linux-next-history应该包含所有必需的对象: http://git.kernel.org/cgit/linux/kernel/git/next/linux-next-history.git/