Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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上手动合并2个分支的GUI_Git_Merge_Git Merge_Branching And Merging_Merge Conflict Resolution - Fatal编程技术网

用于在GIT上手动合并2个分支的GUI

用于在GIT上手动合并2个分支的GUI,git,merge,git-merge,branching-and-merging,merge-conflict-resolution,Git,Merge,Git Merge,Branching And Merging,Merge Conflict Resolution,我在一个项目上有两个分支,这两个分支自分支以来都有很多变化。现在我需要将更改从一个合并到另一个(也可能合并到新的分支中,但这并不重要——只要更简单就行)。我想在一些GUI工具中手动进行合并(我在Ubuntu 19.10上)。我尝试过的许多工具都很好地显示了差异(例如GitKraken、SmartGit)。我想选择要使用的更改(左或右-参见屏幕截图) 所有这些都最好使用快捷方式。比如说: 选择两个分支进行比较 转到第一个差异并选择我喜欢的版本 重复此操作,直到列表结束 保存所有文件,然后提交到新分

我在一个项目上有两个分支,这两个分支自分支以来都有很多变化。现在我需要将更改从一个合并到另一个(也可能合并到新的分支中,但这并不重要——只要更简单就行)。我想在一些GUI工具中手动进行合并(我在Ubuntu 19.10上)。我尝试过的许多工具都很好地显示了差异(例如GitKraken、SmartGit)。我想选择要使用的更改(左或右-参见屏幕截图)

所有这些都最好使用快捷方式。比如说:

  • 选择两个分支进行比较
  • 转到第一个差异并选择我喜欢的版本
  • 重复此操作,直到列表结束
  • 保存所有文件,然后提交到新分支

  • 我知道可以使用复制粘贴方法和文本(代码)编辑器手动执行此操作,但这会带来很多麻烦。

    建议手动执行,因为您需要在发生任何类型的代码冲突时做出决定。您可以简单地选择您想要接受的代码的那一面。

    您是否尝试过运行
    git merge

    假设您想要合并分支
    A
    B
    ,可能是在名为
    new

    # from branch A : create branch 'new'
    git checkout A
    git checkout -b new
    
    # run git merge : add the --no-commit option to be sure to manually review before committing
    git merge B
    
    此时列出了多少合并冲突

    如果冲突文件的数量很小,请修复这些文件,查看全局更改,然后提交结果


    否则,运行diff工具非常简单:

    # from branch 'new' as above :
    # choose the tool you wish to use
    git difftool -d --tool=meld B new
    

    您可以逐个文件查看更改,选择所需的块,然后保存。

    问题是什么?所有的工具,给你的排序并排比较,你正在显示也让你选择使用的差异(左或右)。就这么做吧。你能描述一下是什么阻碍了你进行自动合并吗?@matt non他们中的一个(至少我知道non)当你只是比较分支而不是进行实际合并时是这样做的。@SnipsNip我宁愿一步一步地做,而不是一次做完全合并。这回答了你的问题吗?