git branch 命令详解
2024-09-16
34
1. 前言2. 查看分支3. 创建分支4. 删除分支5. 重命名分支6. 设置上游分支7. 将分支推送到远程仓库
1. 前言
git branch 用于查看、创建、删除分支、重命名分支,通过不同的命令参数实现相应的功能
2. 查看分支
默认只列出本地分支,不显示远程分支,并且在当前分支前面使用 *
标记
git branch
-r,--remotes
: 只列出远程分支,本地分支不会显示
git branch -r
-a,--all
: 查看所有分支,包含本地分支和远程分支
git branch -a
-v,--verbose
: 查看本地分支及其对应的提交记录
# 查看本地分支的 commit id 及其对应的备注信息
git branch -v
# 在 -v 的基础上多显示一个本地分支对应的上游分支
git branch -vv
--format
: 格式化输出,用于自定义输出的格式
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))'
推荐用法
git branch -avv
3. 创建分支
以当前分支为起点,创建一个 dev 分支【使用前提: 当前分支已有提交记录】
git branch dev
可以使用 git checkout -b
创建并切换到新的分支
# 创建并切换到新分支
git checkout -b <branch>
相当于执行下面两个命令
# 创建新的分支
git branch <branch>
# 切换到新分支
git checkout <branch>
4. 删除分支
-d, --delete
delete fully merged branch 删除完全合并的分支
git branch -d <branch>
-D
delete branch (even if not merged) 删除分支 (即使未合并)
使用场景: 本地分支已有新的提交记录,但没推送到远程仓库,此时想要删除分支,必须使用 -D
git branch -D <branch>
删除远程分支(本地分支不会被删除)
# 普通写法
git push origin -d <branch>
# 简写形式
git push origin :<branch>
在代码托管平台删除了分支,本地仓库该分支还存在,执行下面两个命令中的任意一个都可以解决:
git fetch --prune
git remote prune origin
5. 重命名分支
重命名当前分支(需要先切换到旧分支)
git branch -m <branch>
重命名指定分支(不需要先切换到旧分支)
git branch -m <old-branch> <new-branch>
使用场景 1 : 重命名未上传到远程仓库中的分支
# 先切换到 dev 分支,然后再重命名
git checkout dev
git branch -m liang
# 使用两个参数指定要重命名的分支,这种写法不需要先切换到 dev 分支
git branch -m dev liang
# 分支名修改好后推送到远程仓库即可
git push -u origin liang
使用场景 2 : 重命名已经上传到远程仓库中的分支
# 将远程仓库中的 dev 分支签出到本地 (签出并切换到 dev 分支)
git checkout dev
# 重命名当前分支为 liang(当前分支也就变为了 liang)
git branch -m liang
# 将 liang 分支推送到远程仓库并将上游分支设置为 liang
git push -u origin liang
# 删除远程仓库中的 dev 分支
git push origin :dev
6. 设置上游分支
git branch -u origin/liang
7. 将分支推送到远程仓库
将本地分支推送到远程仓库: (-u, —set-upstream 设置上游分支)
git push -u origin <branch>
更新于:2个月前赞一波!
相关文章
- 【说站】php常见运行模式详解
- git 里的gitignore不生效的解决方案
- 【说站】java反射机制原理详解
- 【说站】python无法识别命令的解决
- Git 常用命令
- iOS开发xconfig和script脚本使用详解
- java 安全沙箱模型详解
- git clean 命令详解
- HTTP状态码详解对照表
- git 常用命令
- git switch 命令详解
- git rebase 命令详解
- JS 数组详解【编程笔记】
- git commit 代码提交规范
- git status 查看状态文件名乱码
- MySQL 慢查询详解
- git stash 命令详解(保存开发进度)
- git fetch 命令详解
- linux 命令之查看文件内容
- git merge 命令详解
文章评论
评论问答