除了第一次提交之外,如何git format-patch

时间:2018-01-21 04:41:01

标签: git

我经常有一个源代码树,它不是作为git存储库发起的。通常在我开始进行更改之前,我添加了一个本地git存储库。我的第一次提交总是一个树的起始状态的快照。

从那时起,我创建了常规提交。我需要定期将我的工作作为一系列补丁传达给别处。为此,我想为我的第一次提交创建补丁(因为第一次提交通常是巨大的,并且没有传达有用的信息)。

有没有一种简单的方法可以在不知道先验我的分支中的提交数量的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

在提交之前,您可以考虑标记初始状态。

然后补丁将是as simple as

git format-patch myTag..HEAD --stdout > changes.patch

标记的初始提交不会是该补丁的一部分。

如果您不想要一个补丁count the commits

count=$(($(git rev-list --count myTag..HEAD) - 1))

git format-patch -${count}