我有两个分支,假设一个分支是branch_one
,第二个分支是branch_two
。
现在两个分支都被用于不同的开发项目。
现在,我想合并一些从branch_two
到branch_one
的提交,但是基于时间的开始。
我的意思是branch_two
我们希望从branch_one
上的51个提交合并中提交大约100个提交。
答案 0 :(得分:1)
如果您不想将所有更改从一个分支合并到另一个分支(使用git merge
),则可以cherry-pick
一些提交(一次提交或多次提交)。请参阅cherry-pick
文档here或this reply,其中详细介绍了挑选一系列提交内容。
据我所知,没有直接选项可以直接合并特定日期的提交,但您可以使用here描述的方法查找某一天创建的提交并将该提交用作你的樱桃选择的开始提交。
但是,请注意,挑选提取确实应用了已选择的提交更改,但会创建新的提交。因此,当您将来合并branch_one
和branch_two
时,您将有多次提交引入相同的更改。
在branch_two上:
git log --after="2013-11-12 00:00" --before="2013-11-12 23:59"
输出:
commit 5f3be6775d78k28ee0e4f55c05ec897de3f02360
Author: someone <some@one.com>
Date: Wed Mar 22 17:10:48 2017 +0100
Commit message
在branch_one上:
git cherry-pick 5f3be6775d78k28ee0e4f55c05ec897de3f02360~1..<id of the latest commit on branch_two>
编辑:注意第一个提交ID后面的~1
。这是必要的,因为樱桃选择多次提交
[...]不是挑选A,而是A之后的一切 包括B. - J. B. Rainsberger
请参阅here。
答案 1 :(得分:1)