Rebase分支在浅克隆上添加了1个文件?

时间:2015-12-30 17:14:34

标签: git homebrew git-rebase shallow-clone

我已经分叉了Homebrew,分支添加一个公式,然后推到我的叉子上。

现在我正在使用新机器,我的分支机构有几个(数十,数百,数千)提交。

因此,当地的Homebrew回购是一个浅层克隆,我的分支发生在遥远而没有持续的过去。

如何将我的fork转换为更新为master的本地分支?

预计“你不能错过历史记录”,我会说 - 肯定有一种方法,当补丁如此简单,只需添加一个随后修改过的文件的几个提交?

1 个答案:

答案 0 :(得分:0)

您可以将分支导出为存在分支的仓库中的一系列补丁:

git format-patch `git merge-base formula master`..formula

将这些修补程序复制到您的分支,然后将git am应用于master

之上的新分支中

请参阅“Patching with "git format-patch" and "git am"”作为示例。

但关键点当然,如果您必须首先访问包含formula提交的仓库(要导出它们)。