合并分支不会产生冲突来解决

约瑟夫罗

我已经尝试了整整一天的时间,在功能和开发之间进行简单的合并。

基本上,我想要的是能够手动将所有功能冲突合并到开发中,以便我可以在不破坏开发的情况下获得新功能。

到目前为止,这是我尝试过的事情

git checkout develop; git merge feature
git checkout feature; git merge -s ours develop
git checkout feature; git merge -s recursive -X ours develop
git checkout develop; git merge -s recursive -X theirs feature
git checkout develop; git merge -s recursive -X theirs feature
git checkout feature; git merge -s resolve develop

在所有这些情况下,任何一个分支几乎都会完全覆盖另一个分支。我没有机会手动合并文件内部的冲突。

git checkout feature; git rebase develop

对于某些文件,调用了mergetool,但是无法识别一个文件中的差异。应该注意的是,该文件之前已经合并到了develop文件中。在development中删除的文件仍然存在于功能中,但具有“ orig”扩展名。这是我到目前为止同步两个分支的最接近的方法,但是代价是无法再轻易地分离该功能的分支。

git checkout develop; git rebase feature

提供了一堆删除或保留文件的选项,然后导致错误: file not found Continue merging other unresolved paths (y/n) ? y

我还没有尝试采摘樱桃树或孤树。也许解决方案在那里?

是否有可能我删除了一些文件并重新创建了它们,这就是为什么git甚至没有尝试合并分支的原因?

每次添加新功能时都需要进行手动合并吗?似乎很难做Git-如何在选定文件上强制合并冲突和手动合并

我知道我在某个地方搞砸了,但是我无法弄清楚我在哪里或做错了什么。我可以手动编辑所有未更改的文件,但这会破坏使用git的目的。

我哪里做错了?如何解决这种情况(无需手动编辑文件)?下次我该怎么做?

PS对于git的新手来说,在学习如何使用合并和变基git reflog feature-name转换功能时遇到类似的麻烦git reset --hard feature-name@{n}是无价的命令。(始终使用--hard时要格外小心,因为它会丢弃本地更改)

编辑:虽然我仍然不知道为什么会这样,但VonC提供了一个很好的权宜之计。

对于任何想知道从本地分支结帐到新本地文件夹的方式的人,请查看以下文章:https : //stackoverflow.com/a/16493707/6419701

我进行合并的方式是使用以下语法使用出色的ubuntu融合工具meld folder1 folder2

VonC

在您目前的情况下,我会:

  • feature磁盘上新路径中的checkout分支,
  • 使用git外部的差异工具(kdiff3或其他)合并两个分支(developfeature)(即,不进行git合并,仅进行一些老式文件夹比较/合并),然后清理.orig文件,
  • 记录从开发到合并feature的过程git merge --ours develop

然后,仅出于测试目的,我将对两个分支中的同一文件进行并发修改,以查看agit merge develop是否有效并带来传统的冲突解决步骤git merge

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Github不能合并分支,没有冲突,它会自动合并

来自分类Dev

SVN解决合并中的树冲突

来自分类Dev

合并分支并将其重新设置为master,而不会发生冲突

来自分类Dev

解决合并冲突后,Git rebase卡住

来自分类Dev

SVN合并分支到主干会导致已解决的文件发生冲突

来自分类Dev

git合并冲突期间访问不同的分支

来自分类Dev

Git:确定分支是否处于合并冲突状态

来自分类Dev

解决SVN更新时的合并冲突

来自分类Dev

TortoiseSVN-合并-如何恢复解决未解决的冲突?

来自分类Dev

您的分支机构和“来源/主”已分歧,所有冲突已解决,但您仍在合并

来自分类Dev

如何合并仅导致一次提交的git分支(如使用--squash),但允许将来进行合并而不会产生冲突?

来自分类Dev

Git:解决合并冲突

来自分类Dev

如何通过与Github API合并解决冲突

来自分类Dev

解决冲突后Android Studio Git合并不会结束

来自分类Dev

git:解决合并冲突而不执行合并

来自分类Dev

如何解决跨叉的合并冲突?

来自分类Dev

EGit“同步工作空间”不会将合并冲突标记为已解决

来自分类Dev

如何解决分支上的git冲突而无需合并或重新定级

来自分类Dev

如何使用git rebase解决合并冲突?

来自分类Dev

如何解决github上的合并冲突

来自分类Dev

基于master的git rebase产生冲突,但是“纯”合并到master不会

来自分类Dev

Github:将冲突标记为已解决不会合并更改

来自分类Dev

修复已提交的未解决的合并冲突

来自分类Dev

在进行大型合并以掌握之前,如何在长期功能分支上工作时不断解决冲突?

来自分类Dev

如何无冲突地合并2个分支

来自分类Dev

GIT源树合并将开发分支合并为阶段分支冲突

来自分类Dev

解决冲突后Android Studio Git合并不会结束

来自分类Dev

git stash未解决的合并冲突

来自分类Dev

Feature 分支中的文件冲突解决

Related 相关文章

  1. 1

    Github不能合并分支,没有冲突,它会自动合并

  2. 2

    SVN解决合并中的树冲突

  3. 3

    合并分支并将其重新设置为master,而不会发生冲突

  4. 4

    解决合并冲突后,Git rebase卡住

  5. 5

    SVN合并分支到主干会导致已解决的文件发生冲突

  6. 6

    git合并冲突期间访问不同的分支

  7. 7

    Git:确定分支是否处于合并冲突状态

  8. 8

    解决SVN更新时的合并冲突

  9. 9

    TortoiseSVN-合并-如何恢复解决未解决的冲突?

  10. 10

    您的分支机构和“来源/主”已分歧,所有冲突已解决,但您仍在合并

  11. 11

    如何合并仅导致一次提交的git分支(如使用--squash),但允许将来进行合并而不会产生冲突?

  12. 12

    Git:解决合并冲突

  13. 13

    如何通过与Github API合并解决冲突

  14. 14

    解决冲突后Android Studio Git合并不会结束

  15. 15

    git:解决合并冲突而不执行合并

  16. 16

    如何解决跨叉的合并冲突?

  17. 17

    EGit“同步工作空间”不会将合并冲突标记为已解决

  18. 18

    如何解决分支上的git冲突而无需合并或重新定级

  19. 19

    如何使用git rebase解决合并冲突?

  20. 20

    如何解决github上的合并冲突

  21. 21

    基于master的git rebase产生冲突,但是“纯”合并到master不会

  22. 22

    Github:将冲突标记为已解决不会合并更改

  23. 23

    修复已提交的未解决的合并冲突

  24. 24

    在进行大型合并以掌握之前,如何在长期功能分支上工作时不断解决冲突?

  25. 25

    如何无冲突地合并2个分支

  26. 26

    GIT源树合并将开发分支合并为阶段分支冲突

  27. 27

    解决冲突后Android Studio Git合并不会结束

  28. 28

    git stash未解决的合并冲突

  29. 29

    Feature 分支中的文件冲突解决

热门标签

归档