当前位置:首页 > 编程技术 > 正文内容

git branch 命令详解

yc8881年前 (2022-12-30)编程技术358

git branch 命令详解

1. 前言


git branch 用于查看、创建、删除分支、重命名分支,通过不同的命令参数实现相应的功能

2. 查看分支


默认只列出本地分支,不显示远程分支,并且在当前分支前面使用 * 标记

  1. git branch

-r,--remotes: 只列出远程分支,本地分支不会显示

  1. git branch -r

-a,--all: 查看所有分支,包含本地分支和远程分支

  1. git branch -a

-v,--verbose: 查看本地分支及其对应的提交记录

  1. # 查看本地分支的 commit id 及其对应的备注信息
  2. git branch -v
  3. # 在 -v 的基础上多显示一个本地分支对应的上游分支
  4. git branch -vv

--format: 格式化输出,用于自定义输出的格式

  1. git branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'

推荐用法

  1. git branch -avv

3. 创建分支


以当前分支为起点,创建一个 dev 分支【使用前提: 当前分支已有提交记录】

  1. git branch dev

可以使用 git checkout -b 创建并切换到新的分支

  1. # 创建并切换到新分支
  2. git checkout -b <branch>

相当于执行下面两个命令

  1. # 创建新的分支
  2. git branch <branch>
  3. # 切换到新分支
  4. git checkout <branch>

4. 删除分支


-d, --delete delete fully merged branch 删除完全合并的分支

  1. git branch -d <branch>

-D delete branch (even if not merged) 删除分支 (即使未合并)

使用场景: 本地分支已有新的提交记录,但没推送到远程仓库,此时想要删除分支,必须使用 -D

  1. git branch -D <branch>

删除远程分支(本地分支不会被删除)

  1. # 普通写法
  2. git push origin -d <branch>
  3. # 简写形式
  4. git push origin :<branch>

在代码托管平台删除了分支,本地仓库该分支还存在,执行下面两个命令中的任意一个都可以解决:

  1. git fetch --prune
  2. git remote prune origin

5. 重命名分支


重命名当前分支(需要先切换到旧分支)

  1. git branch -m <branch>

重命名指定分支(不需要先切换到旧分支)

  1. git branch -m <old-branch> <new-branch>

使用场景 1 : 重命名未上传到远程仓库中的分支

  1. # 先切换到 dev 分支,然后再重命名
  2. git checkout dev
  3. git branch -m liang
  4. # 使用两个参数指定要重命名的分支,这种写法不需要先切换到 dev 分支
  5. git branch -m dev liang
  6. # 分支名修改好后推送到远程仓库即可
  7. git push -u origin liang

使用场景 2 : 重命名已经上传到远程仓库中的分支

  1. # 将远程仓库中的 dev 分支签出到本地 (签出并切换到 dev 分支)
  2. git checkout dev
  3. # 重命名当前分支为 liang(当前分支也就变为了 liang)
  4. git branch -m liang
  5. # 将 liang 分支推送到远程仓库并将上游分支设置为 liang
  6. git push -u origin liang
  7. # 删除远程仓库中的 dev 分支
  8. git push origin :dev

6. 设置上游分支


  1. git branch -u origin/liang

7. 将分支推送到远程仓库


将本地分支推送到远程仓库: (-u, —set-upstream 设置上游分支)

  1. git push -u origin <branch>

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10303.html

标签: git
分享给朋友:

“git branch 命令详解” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】利用Webhook实现Java项目自动化部署

【说站】利用Webhook实现Java项目自动化部署

用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...