我正在尝试从一个目录创建一个补丁并将该补丁应用到不同的目录,只要该目录包含相同的文件。
例如: 请注意,repo-1 / local / mnt / workspace / New_version / sample_dir / 包含File1,File2和File3。
考虑一下,repo-2 / local / mnt / workspace / old_version / 包含repo-1中提到的同一组文件。
现在,我正在尝试从repo-1创建补丁集并尝试将其应用于repo-2,由于路径冲突而导致错误抛出。
有没有办法满足我的要求?请帮忙!
答案 0 :(得分:2)
您可以使用-p
删除目录,并使用--directory=<root>
:
-p<n>
Remove <n> leading slashes from traditional diff paths. The default is 1.
--directory=<root>
Prepend <root> to all filenames. If a "-p" argument was also passed, it is applied before prepending the new root.
For example, a patch that talks about updating a/git-gui.sh to b/git-gui.sh can be applied to the file in the working tree modules/git-gui/git-gui.sh by running git apply --directory=modules/git-gui.