如何从另一个分支获取更改,按日期限制git

问题描述

我有一个名为“ hugefeature”的分支,该分支是从“大师” 1月分叉的

人们全年都在这个“巨大功能”分支上工作,也在“大师”上工作。

但是自7月以来,对该分支所做的所有更改都不重要。实际上,此更改中断了先前的工作。该软件在7月之前运行良好,之后不再运行。

所以我想要的是:

  • 再次分叉“ master”并创建一个“ hugefeature2”新分支。
  • 将“ hugefeature”合并到“ hugefeature2”中,但仅在7月之前对“ hugefeature”进行更改。

由于“主”已更改,因此会有一些冲突。没关系,我可以解决这个问题。

有人可以帮忙吗?我不知道如何限制提交日期。

解决方法

git log有一个--until=<date>,--before=<date> option,可用于发现您感兴趣的提交ID:

git log --oneline --graph --until=2020-07-01 hugefeature

您已经找到了感兴趣的提交ID,可以使用它来创建新分支:

git checkout -b hugefeature2 <commitID>

或直接在合并命令中使用此ID:

# fork from master :
git checkout -b hugefeature2 master
# merge commits up to july :
git merge <commitID>