1

我正在尝试从一个目录创建补丁并将该补丁应用于不同的目录,前提是两个目录都包含相同的文件。

例如:考虑一下,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,由于路径冲突而引发错误。

有什么方法可以满足我的要求吗?请帮忙 !

4

1 回答 1

3

您可以使用-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.
于 2017-11-13T12:57:24.340 回答