Git按文件类型合并

Git按文件类型合并,git,git-merge,Git,Git Merge,我有两个git分支,master和mybranch。Mybranch具有所有正确的*.json文件,master具有所有其他正确的文件类型。如何合并它们 在所有文件中都有很多很多合并冲突。如果我能以某种方式按文件类型合并,我就不必检查所有合并文件。如果您想在master中合并Mybranch,一般建议如下: git checkout master git merge Mybranch 如果存在合并冲突,请解决它们 建议在准备将更改从本地分支带到主分支时,经常对主分支执行重新基础或合并到本地分

我有两个git分支,master和mybranch。Mybranch具有所有正确的*.json文件,master具有所有其他正确的文件类型。如何合并它们


在所有文件中都有很多很多合并冲突。如果我能以某种方式按文件类型合并,我就不必检查所有合并文件。

如果您想在master中合并
Mybranch
,一般建议如下:

git checkout master
git merge Mybranch 
如果存在合并冲突,请解决它们

建议在准备将更改从本地分支带到主分支时,经常对主分支执行重新基础或合并到本地分支,以避免大量合并冲突

UPD:最快的解决方案是使用diff补丁:

  • 结帐主分支

  • 仅为JSON文件创建差异修补程序

    git diff master Mybranch*.json>json.diff

  • 应用差异

    git应用json.diff

  • 提交更改

  • 注:
    如果工作目录中存在冲突,则修补程序将不适用。为了本地化有问题的JSON文件,让几个或每个JSON都有自己的差异可能会有所帮助。对于冲突的差异,可以在应用之前打开一个差异文件并对其进行编辑。无论哪种方式-如果存在冲突,您必须解决冲突。

    git checkout
    具有选项
    --我们的
    --他们的
    ,以在合并过程中获取各自的版本。所以你做了一些类似的事情

    git checkout master
    git merge mybranch
    git checkout --theirs -- *.json
    git checkout --ours -- <the-other-files>
    git add .
    git commit
    
    git签出主机
    git合并mybranch
    git签出——他们的--*.json
    git结帐--我们的--
    git添加。
    git提交
    
    在这里,您必须稍微使用shell,以列出要从一个或另一个分支获取的文件。将所需版本签出到工作树后,
    add
    应清除冲突记录

    请记住,
    --ours
    是作为参数传递给initial
    checkout
    的分支,
    --theres
    是作为参数传递给
    merge
    的分支


    另外,在调用
    add
    之前,您可以改变主意,使用
    --ours
    --theres
    ,因为索引仍然包含所有版本。因此,您实际上应该能够执行
    git签出--我们的--.
    然后
    git签出--他们的*.json

    是的,所有文件中都有很多很多合并冲突。这就是为什么我要问关于按文件类型合并的问题。我提前知道哪些文件扩展名是正确的。我真的需要检查所有的合并文件吗?