git - 在 Git 中,本地分支可以相互跟踪——这有什么用?

标签 git branch

我听说在 Git 中,您可以让一个本地分支 A 跟踪另一个 本地分支 B

为什么有人要这样做?

最佳答案

要让一个本地分支跟踪另一个本地分支,我想到的主要事情是 (1) 来自 Git 的关于一个分支在被跟踪分支之前/之后的更明智的消息,以及 (2) 触发器 Hook 。

Git 显示更多信息的一个区域是在创建分支时。创建 basic branch看起来像下面这样:

$ git co -b A master
Switched to a new branch 'A'

在创建 tracking branch 时看起来像:

$ git co --track -b B master
Branch B set up to track local branch master.
Switched to a new branch 'B'

这将在 .git/config 中添加以下内容:

[branch "B"]
    remote = .
    merge = refs/heads/master

在分支 AB 上提交一些更改后,在分支 A 上执行 git status -s -b > 显示 ## A 而在分支 B 它显示 ## B...master [ahead 1, behind 1],提供一些快速有关分支 Bmaster 之间关系的信息。

您可能希望本地分支跟踪另一个本地分支的另一个区域是触发 hooks ;特别是 pre-receiveupdatepost-receivepost-updategit push 期间.例如,您可能有钩子(Hook)来触发持续集成服务器上的构建、执行一些许可证 header 检查、检查空白格式错误等。

关于git - 在 Git 中,本地分支可以相互跟踪——这有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8432345/

相关文章:

Git: checkout 保留未提交更改的分支

Git merge 错误

git - 从当前工作树创建分支并重置为 HEAD

git - 如何更改默认的 git 提交消息

java - 如何使用两个单独的存储库 (poms) 设置 Jenkins 构建?

git - 如何按文件状态为 `git diff --name-status` 的 bash 输出添加颜色?

svn - 将 svn 分支合并到主干后,我该怎么办?

Github 无法从基础分支发出 Pull 请求

git - 是否可以使用服务主体访问azure上的git存储库?

Git merge 到之前 merge 的分支