Git按文件类型合并
我有两个git分支,master和mybranch。Mybranch具有所有正确的*.json文件,master具有所有其他正确的文件类型。如何合并它们Git按文件类型合并,git,git-merge,Git,Git Merge,我有两个git分支,master和mybranch。Mybranch具有所有正确的*.json文件,master具有所有其他正确的文件类型。如何合并它们 在所有文件中都有很多很多合并冲突。如果我能以某种方式按文件类型合并,我就不必检查所有合并文件。如果您想在master中合并Mybranch,一般建议如下: git checkout master git merge Mybranch 如果存在合并冲突,请解决它们 建议在准备将更改从本地分支带到主分支时,经常对主分支执行重新基础或合并到本地分
在所有文件中都有很多很多合并冲突。如果我能以某种方式按文件类型合并,我就不必检查所有合并文件。如果您想在master中合并
Mybranch
,一般建议如下:
git checkout master
git merge Mybranch
如果存在合并冲突,请解决它们
建议在准备将更改从本地分支带到主分支时,经常对主分支执行重新基础或合并到本地分支,以避免大量合并冲突
UPD:最快的解决方案是使用diff补丁:
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
是作为参数传递给initialcheckout
的分支,--theres
是作为参数传递给merge
的分支
另外,在调用
add
之前,您可以改变主意,使用--ours
和--theres
,因为索引仍然包含所有版本。因此,您实际上应该能够执行git签出--我们的--.
然后git签出--他们的*.json
是的,所有文件中都有很多很多合并冲突。这就是为什么我要问关于按文件类型合并的问题。我提前知道哪些文件扩展名是正确的。我真的需要检查所有的合并文件吗?