Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何在不合并的情况下将其他分支的特定文件添加到我的分支?_Git - Fatal编程技术网

Git 如何在不合并的情况下将其他分支的特定文件添加到我的分支?

Git 如何在不合并的情况下将其他分支的特定文件添加到我的分支?,git,Git,我有两个分支机构: -- rakib/test1 - file1, file2, file3, file4, filex, filey -- rakib/test2 - file3, file4, file5, file6 我想将rakib/test1中的file1和file2添加到rakib/test2,但是git merge rakib/test1操作具有以下不希望的效果: 覆盖/修改file3、file4 我不想在rakib/test2 也许我错过了一些非常明显的东西。在合并

我有两个分支机构:

-- rakib/test1
   - file1, file2, file3, file4, filex, filey
-- rakib/test2
   - file3, file4, file5, file6
我想将
rakib/test1
中的
file1
file2
添加到
rakib/test2
,但是
git merge rakib/test1
操作具有以下不希望的效果:

  • 覆盖/修改
    file3、file4
  • 我不想在
    rakib/test2
  • 也许我错过了一些非常明显的东西。在
    合并
    添加
    中是否有任何选项可以实现这一点?还是我必须用别的东西? 谢谢

    [EDIT]我尝试了
    git合并--没有提交--没有ff-rakib/test1
    从,它开始自动合并:

    rakib.amin@rakibamin-mac:~/AndroidAuto$ git merge --no-commit --no-ff rakib/test1
    Performing inexact rename detection: 100% (4347/4347), done.
    Auto-merging xxxxxxxxxx
    CONFLICT (add/add): Merge conflict in xxxxxx
    ....
    Automatic merge failed; fix conflicts and then commit the result.
    

    [编辑]重复的问题要求我一次执行一个文件,我还对如何在目录/regex的基础上执行它感兴趣,因为这是我为旧项目(几个月没有接触过的项目)制作PRs的常规做法。如果您知道在使用旧分支的代码进行拉取请求时创建干净分支的更好做法,请添加,我很乐意学习。

    您可以尝试以下命令,以获取从另一个分支到您分支的特定文件。在这里,您不是合并分支,而是专门将一个文件从源分支签出到您的分支。注意,在这种情况下,源分支文件将完全覆盖本地文件

    git checkout rakib/test2  # checkout your target branch 
    git checkout rakib/test1 -- file1 # checkout only one file from source branch
    git checkout rakib/test1 -- file2 # checkout only one file from source branch
    
    这也适用于目录

    git checkout rakib/test1 -- dirname
    

    您可以在下面的链接中找到解决方案抱歉,我刚才做了,但是
    git merge--no commit--no ff-rakib/test1
    似乎仍在继续自动合并,引发合并冲突。可能是