如何列出 Git 分支中所有未合并的更改

在使用 Git 进行版本控制时,了解哪些分支包含未合并的更改是非常重要的。这有助于你保持代码库的整洁,并确保重要的更改不会丢失。本文将详细介绍如何列出 Git 分支中所有未合并的更改。

使用 git branch 查看分支列表

首先,你需要查看当前仓库中的所有分支。可以使用以下命令:

git branch -a

这个命令会列出本地和远程的所有分支。

列出未合并到主分支(master 或 main)的分支

假设你要检查哪些分支尚未合并到 main 分支,可以使用以下命令:

git branch --no-merged main

如果你的默认分支是 master,请将 main 替换为 master

查看特定分支的更改

一旦你确定了未合并的分支,你可以查看这些分支上的具体更改。例如,如果你想查看 feature-branch 分支上的更改,可以使用以下命令:

git diff main...feature-branch

这个命令会显示 mainfeature-branch 之间的差异。

查看未合并的提交

如果你只想查看未合并到主分支的提交,可以使用以下命令:

git log main..feature-branch

这将列出 feature-branch 中不在 main 分支中的所有提交。

使用图形化工具

除了命令行工具外,许多 Git 图形化工具(如 SourceTree、GitKraken 和 GitHub Desktop)也提供了查看未合并更改的功能。这些工具通常会有一个直观的界面来帮助你管理分支和查看更改。

示例场景

假设你的仓库中有以下几个分支:main, feature-branch1, feature-branch2,并且你想检查哪些功能分支尚未合并到 main 分支。

  1. 列出所有未合并到 main 的分支:

    git branch --no-merged main
    

    假设输出如下:

      feature-branch1
      feature-branch2
    
  2. 查看 feature-branch1 中的更改:

    git diff main...feature-branch1
    
  3. 查看 feature-branch2 的未合并提交:

    git log main..feature-branch2
    

通过这些步骤,你可以轻松地管理和查看 Git 分支中所有未合并的更改。