2013-08-16 217 views
0

我一直在研究一个在git中维护的项目。我从之前的一些人那里得到了一堆补丁。但他不记得他的源代码版本是什么。 (或者如果他在开始他的工作之前已经分解了回购)。 当我尝试应用补丁时,其中一些失败。有些不是。有没有什么办法可以找出他创建第一个补丁的分支/索引。 (PS:补丁按顺序编号)Git应用补丁

(我认为如果你不知道它们被创建的基本版本,补丁就不能应用了。所以,我所拥有的补丁是没用的,除非我挖通过东西。)

感谢

回答

2

在文本编辑器的差异文件。在每个文件的部分的顶部会像下面所示的一个标头:

diff --git a/Makefile b/Makefile 
index d68fdef..f9aca24 100644 
--- a/Makefile 
+++ b/Makefile 
@@ -1,3 +1,8 @@ 
+ 
... 

的“索引”线包括该文件的SHA-1的校验之前和改变之后。您可以使用它来验证文件的特定版本是否被用作该差异的来源。有an answer to another StackOverflow question,其中包含一个示例脚本,用于搜索存储库历史记录以基于SHA1查找文件。