Git push 的细节与分支追踪

有一定 git 使用经验的读者应该知道,在我们 clone 项目以后,本地的 master 分支和远程的 master 分支默认是关联的,可以通过 git branch -vv 验证:

将本地分支与远程关联(也叫追踪)的好处主要有以下几点:

  1. 在 git pull 时,不用指定远程分支名,会自动使用当前分支关联的远程分支名
  2. 能简化部分场景下的 git push,下面会详细介绍
  3. 在 git status 中,会自动显示当前分支与远程关联分支之间的差距,比如领先、落后几次提交
  4. (猜测)部分 GUI 工具会自动定时拉取远程关联分支的代码

一种常见的工作流是,从稳定分支(比如 master)上开一条新的 feature 分支,在 feature 分支开发以后再合入:

git checkout -b feature
git push origin

在 push 的时候,远程并不存在 feature 分支,所以会自动创建,那么此时本地的 feature 分支会不会自动关联远程的 feature 分支呢?答案是,看配置。在 gitconfig 文件中我们可以进行如下配置:

```shell

top Created with Sketch.