# 31.创建一个跟踪分支

## 实验

学习如何添加一个跟踪远程分支的本地分支。 以remotes/origin开头的分支是原始仓库中的分支。请注意，你不再拥有名为 lgnew 的分支，但它知道原始仓库有一个lgnew分支。

```bash
# 创建跟踪远程分支的本地分支
$ git branch --track lgnew origin/lgnew
branch 'lgnew' set up to track 'origin/lgnew'.

# 列出所有分支
git branch -a
lgnew
* master
remotes/origin/HEAD -> origin/master
remotes/origin/lgnew
remotes/origin/master

# 查看提交历史
$ git hist --max-count=2
* b4e913c 2023-05-06 | Added README.md (HEAD -> master, origin/master, origin/HEAD) [aku]
* 2456c71 2023-05-05 | Added teset2.txt (origin/lgnew, lgnew) [aku]
```

我们现在可以在分支列表和日志中看到 `lgnew`分支。你可以查看28.从原始仓库获取更改中的输出信息以对比!\[\[28.从原始仓库获取更改#^6c8fc8]]

## 跟踪分支是什么，有什么用？

跟踪分支是指将本地分支与远程分支进行关联，使它们保持同步。具体而言，跟踪分支允许你在本地创建一个与远程分支相关联的分支，使得在推送、拉取和合并代码时更加方便。

以下是跟踪分支的几个主要用途和好处：

1. **远程仓库同步：** 跟踪分支使得你能够将本地分支与远程分支保持同步。你可以将本地分支的更改推送到远程分支，或者从远程分支拉取最新的更改到本地分支，从而确保你的代码与团队中的其他成员保持一致。
2. **方便的远程操作：** 有了跟踪分支，你可以更方便地进行远程操作，如推送和拉取代码，而无需每次都指定远程分支的名称。Git 会自动将你的本地分支与相关联的远程分支进行同步。
3. **清晰的分支关系：** 跟踪分支可以帮助你更清晰地了解本地分支与远程分支之间的关系。通过查看分支列表，你可以看到哪些分支正在跟踪远程分支，以及它们之间的关联关系。
4. **合并和拉取请求：** 跟踪分支对于合并和拉取请求（Pull Request）非常有用。在许多协作开发的场景中，团队成员会在自己的分支上进行开发，并通过合并或拉取请求将更改合并到主分支。通过跟踪分支，你可以轻松地将你的分支与目标分支（如主分支）进行关联，并创建合并请求，以便团队成员审查和合并你的更改。

总之，跟踪分支提供了一种便捷的方式来管理本地分支与远程分支之间的关系，使得代码的推送、拉取和合并操作更加简单和直观。通过使用跟踪分支，你可以更好地协作、保持代码同步，并更好地管理你的 Git 代码库。

## 什么时候需要创建跟踪分支

1. **从远程分支开始新的开发工作：** 当你要从远程分支（如主分支）开始新的开发工作时，创建一个跟踪分支可以让你在本地进行开发，并与远程分支进行同步。这样做可以确保你的更改与团队中的其他成员保持同步，并且可以更轻松地将你的更改合并回远程分支。
2. **合作开发和协作工作：** 在协作开发和协作工作的场景中，每个团队成员通常都在自己的分支上进行开发，并最终将更改合并到共享分支（如主分支）。通过创建跟踪分支，每个成员可以在本地维护自己的分支，并将其与共享分支进行关联，以便更好地进行代码审查、合并和跟踪更改。
3. **修复 bug 或进行实验性开发：** 如果你需要修复一个特定的 bug 或者进行一些实验性的开发工作，可以通过创建跟踪分支来隔离这些更改。这样做可以确保你的修改不会直接影响主分支或其他正在进行的工作，并且可以更轻松地跟踪和管理这些特定的更改。
4. **长期特性分支：** 在某些情况下，你可能需要创建一个长期存在的特性分支（Feature Branch），用于持续开发和实现某个特定的功能。通过创建跟踪分支，你可以在本地进行功能开发，并将其与远程分支进行同步，以便与其他团队成员进行协作、测试和审查。
