Git 分支

$ git branch --help     # 查看关于git branch帮助

[查看分支]

$ git branch    # 查看本地分支(星号*标注为当前分支)
$ git branch -r     # 查看所有远程[remote]分支
$ git branch -a     # 查看所有[all]本地及远程分支
$ git branch -v     # 查看各个分支最后的提交
$ git branch -vv    # 在[-v]参数结果增添本地分支对应的远程分支

[创建\切换\重命名分支]

$ git branch <new_branch>       # 创建新分支(继承当前分支最新提交来创建)
$ git branch <new_branch>  commit_id  # 以指定的提交版本commit_id来创建新分支
$ git checkout <branch>     # 切换分支
$ git checkout [commit_id] -b <new_branch>      # 继承当前分支最后一次提交(或指定某次提交)创建并切换到新分支
$ git checkout <commit_id>      # 切换到某次提交,无分支信息;若再切换回分支则会丢弃切换之前的修改
$ git checkout -b <new_branch> <master> # 继承master分支创建并切换新分支
$ git branch -m <branch> <new_branch>       # 重命名分支

[删除分支]

# 删除本地分支
$ git branch [-d | -D] <branch>
    -d      # 删除[delete]本地n支(存在修改或未合并删除失败,多个分支用空格分隔)
    -D      # 忽略修改强制删除本地分支(多个分支用空格分隔)

# 删除远程分支
$ git branch -d -r origin/<branch>  # 删除远程分支
$ git push origin :<branch>     # 冒号前面的空格不能少,即把空分支push到远程达到删除效果[since Git v1.5.0]
$ git push origin --delete <branch>     # [since Git v1.7.0]

[合并分支]

$ git branch --merged   # 查看已合并的分支列表
$ git branch --no-merged    # 查看未合并的分支列表
$ git merge <branch>    # 合并其他分支到当前分支,发生冲突修复后再次提交

[关联分支]

# 设置本地分支跟踪远程分支(与远程分支关联),分支设置跟踪后直接git pull、git push即可直接查找到远程分支进行操作
$ git branch --set-upstream-to=origin/<branch> <branch>  (推荐)
$ git branch --set-upstream <branch> <origin/branch>    

本地跟踪远程分支,会在当前项目的config文件产生如下配置

[branch "master"]
    remote = origin
    merge = refs/heads/master