如何将gitcommit从一个回购合并到另一个回购



假设我有一个名为A的repo,而A有一个源文件文件夹A_dir,其中我有一<commit_id>在A_dir中的源文件上现在我有另一个不同的repo,名为B,B有相同的源文件文件夹B_dir,有没有任何方法可以应用<commit_id>在B_dir中?

我尝试的是:

A_dir中的
  1. :git格式补丁<commit_id&gt-1#生成补丁文件,比如0001.patch
  2. 切换到目录(_dir(:
cp A_dir/0001.patch .
git apply --check 0001.patch
git apply 0001.patch

但结果是补丁似乎没有应用,当我使用";git状态";在B中,它只报告:

Untracked files:
(use "git add <file>..." to include in what will be committed)
0001.patch    

但结果是补丁似乎没有应用,

首先检查B_dir是否是存储库的子目录
来自git apply手册页:

从存储库中的子目录运行时,会忽略目录外的修补路径

确保使用--directory选项从目标存储库的根文件夹应用补丁

<root>前置到所有文件名
如果;CCD_ 5";参数也被传递,它在准备新的根之前被应用。

例如,关于将a/git-gui.sh更新为b/git-gui.sh的补丁可以通过运行git apply --directory=modules/git-gui应用于工作树modules/git-gui/git-gui.sh中的文件。

相关内容

最新更新