当前位置: 首页 > 工具软件 > git-point > 使用案例 >

Git:git-branch的用法总结

胡景澄
2023-12-01

概要

Git:git-branch的用法总结

博客

原帖收藏于IT老兵博客

前言

git-branch的用法。这个命令使用频度很高,还有一些没有搞明白,在这里总结梳理一下。

PS:之前的文章题目命名都用空格,以前一直不理解git的官网为什么多加一个“-”,现在明白了,为了用作文章名和题目比较方便,解了一个惑。

感觉之前的内容总结得还不是很到位,每次在这个地方遇到问题时,还是应该进来再看看,再看看官网,参考参考别的帖子,看看哪里没有整理总结明白,再补充补充。

正文

用法

git branch [--color[=<when>] | --no-color] [-r | -a] [--list] [-v [--abbrev=<length> | --no-abbrev]]
	[--column[=<options>] | --no-column] [--sort=<key>]
	[(--merged | --no-merged) [<commit>]]
	[--contains [<commit]] [--no-contains [<commit>]]
	[--points-at <object>] [--format=<format>] [<pattern>…​] // 列出分支(这个用法有点复杂)
	
git branch [--track | --no-track] [-l] [-f] <branchname> [<start-point>] // 设置分支本地和远程的关系(上流)
git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>] // 设置分支上流
git branch --unset-upstream [<branchname>] // 取消分支上流的设置
git branch (-m | -M) [<oldbranch>] <newbranch> // 重命名分支
git branch (-c | -C) [<oldbranch>] <newbranch> // 拷贝分支
git branch (-d | -D) [-r] <branchname>…​ // 删除分支
git branch --edit-description [<branchname>] //修改分支描述

git branch有以上这么多种用法,原本我看了几遍,也感觉云山雾绕,所以在上面加了一些备注。

常用实例

实例: 展示分支
最简单的形式:

$ git branch
* master

较为详细的形式:

$ git branch -v
* master cac453c 从版本库中移除项目配置文件和日志配置文件

可以看到,加了-v,显示出了提交号和提交的信息。

更为详细的形式:

$ git branch -vv
* master cac453c [origin/master] 从版本库中移除项目配置文件和日志配置文件

可以看到,加两个v,除了显示出了提交号,还显示出了上流分支(upstream)的名称。。

实例: 查看所有分支(包括远程的)

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/f_1123
  remotes/origin/f_1268
  remotes/origin/f_1316
  remotes/origin/f_1317
  remotes/origin/f_1346
  remotes/origin/f_1347
  remotes/origin/f_1490
  remotes/origin/f_english
  remotes/origin/master

-a就是-all的意思,显示所有。

实例: 查看远程分支

$ git branch -r
  origin/HEAD -> origin/master
  origin/dev
  origin/f_1123
  origin/f_1268
  origin/f_1316
  origin/f_1317
  origin/f_1346
  origin/f_1347
  origin/f_1490
  origin/f_english
  origin/master

比上面那个指令少了一项master
-r的意思是remote,显示远程的分支情况。

实例: 修改分支名
master分支名称修改成dev,这里仅仅是举一个例子,正常工作中一般是不应该发生这样的修改,这里只是修改了本地的分支名。

 git branch -m master dev

实例: 删除分支
删除dev分支,-d是删除,-D是强制删除,这里只是删除本地的分支,并不是删除远程的分支。

 git branch -d dev
 git branch -D dev

删除远程分支的命令如下,需要push到远程,这里涉及到了git-push这个指令:

git push <remote_name> --delete <branch_name>
$ git push <remote_name> :<branch_name>

实例: 仅显示分支列表,区别于-v参数

chaiyudeMacBook-Pro:wzu_sports_android_full chaiyu$ git branch --list
  hotfix
  master
* t_1546

参考

https://git-scm.com/docs/git-branch。

 类似资料: