请教个 git 的使用问题,能在 merge 时排除指定的某些文件...
本帖最后由 匿名用户 于 2019-3-30 17:30 编辑使用场景是这样的:
master 分支下有:
a.txt
b.txt
其他文件
test 分支下有:
a.txt
b.txt
其他文件
两个分支下的 a.txt b.txt 有大量的不同内容不需要合并(但自身都有内容修改),而“其他文件”都需要从 test 分支合并到 master。
请问下这种情况下什么样的解决方案最好呢。
cherry-pick 能用么? 本帖最后由 Jet.Black 于 2019-3-30 17:29 编辑
git merge --no-ff --no-commit TEST
git reset HEAD A.txt
git checkout -- A.txt
git commit
这样行不行? Jet.Black 发表于 2019-3-30 17:23
cherry-pick 能用么?
我看了下 cherry-pick,貌似是用来指定 commit,而不是指定文件的? 匿名用户 发表于 2019-3-30 17:29
我看了下 cherry-pick,貌似是用来指定 commit,而不是指定文件的?
都混在一起那就看看3楼的方法行不行…… 在master上git merge —squash test 然后 reset 那两个文件commit 用checkout --ours啊 q8571183 发表于 2019-4-5 08:14
用checkout --ours啊
先merge
然后git checkout - -ours -- a.txt
再commit
在git pro的高级合并里有提到过 就用3楼的方法就行了。
另外如果test需要持续合并到master的话,我的做法是把公共的部分放a.txt, 然后不同的部分master上建立b.txt c.txt,test分支上建d.txt e.txt
这样每次merge的时候diff方便一点。。
页:
[1]