我有一个名为test_module.c的文件,其中包含一些差异,我希望将这些差异应用于我的本地工作副本。
我尝试从远程创建补丁文件,方法如下。然而,Git没有报告任何错误,也没有创建任何补丁文件。
git format-patch master/dev_branch test/test_module.c
我能否创建一个单个文件的补丁并将其应用?
(使用git版本1.7.5.4)
我有一个名为test_module.c的文件,其中包含一些差异,我希望将这些差异应用于我的本地工作副本。
我尝试从远程创建补丁文件,方法如下。然而,Git没有报告任何错误,也没有创建任何补丁文件。
git format-patch master/dev_branch test/test_module.c
我能否创建一个单个文件的补丁并将其应用?
(使用git版本1.7.5.4)
git format-patch
一个单独的修订版本,它将为自该修订版本以来的每个提交生成补丁。如果您在命令中看不到任何输出,则我怀疑在origin/master
和您当前的HEAD
之间该文件没有更改。作为一种替代方法,您可以提供一个修订版本范围(例如origin/master~3..origin/master
),以覆盖对该文件引入的更改。或者,如果要生成补丁的更改仅包含在origin/master
的最新提交中,则可以使用-1
参数,如下所示:git format-patch -1 origin/master test/test_module.c
您可以使用以下语法为单个文件创建补丁:
git format-patch [commit_hash] [file]
git format-patch [commit_hash] -- [file]
- betontalpfa
git format-patch [hash]..origin/master test_module.c
,或者origin/master
可能被视为一个路径。 - Mark Longair-1
参数(表示“给我这个提交以来的更改,而不是从这个提交开始的所有更改”)适用于哈希值,而不仅仅是分支的最新提交。也就是说,您可以使用git format-patch -1 abc1234 path/to/file
命令。 - duozmo