当前位置: 首页 > news >正文

git基础命令(四)之分支命令

目录

  • 基础概念
  • git branch
    • -r
    • -a
    • -v
    • -vv
    • -avv
    • 重命名分支
    • 删除分支
    • git branch -h
  • git checkout
    • 创建新的分支追踪远程分支同时切换到该分支
    • 创建新的分支并切换到该分支
    • 撤销对文件的修改,恢复到最近的提交状态:
    • 丢弃本地所有修改
    • git checkout -h
  • git merge
    • 合并指定分支到当前分支
    • 合并其他分支并保持提交历史
    • 合并其他分支但不保留提交历史
    • 合并其他分支并编辑提交信息
    • 合并其他分支并忽略空格更改
    • 合并其他分支并手动解决冲突
    • 合并其他分支并保留原始分支状态
    • git merge -h

基础概念

origin
origin 在 Git 中通常表示默认的远程仓库名称,用于指代最初克隆或添加的远程仓库。

git branch

显示分支
显示本地分支列表
$ git branch
当前分支将以绿色突出显示并标有星号。
在这里插入图片描述

-r

git branch -r
显示所有远程分支;远程分支列表
在这里插入图片描述

-a

git branch -a
添加-a选项将同时显示所有的远程分支和本地分支。
在这里插入图片描述

-v

git branch -v
显示所有本地分支 以及该分支上最新的一笔提交信息
在这里插入图片描述

-vv

git branch -vv
显示所有本地分支和对应的远程分支 以及该分支上最新的一笔提交信息

-avv

git branch -avv
显示所有本地分支和对应的远程分支 以及该分支上最新的一笔提交信息;还有所有远程分支以及该分支上最新的一笔提交信息
创建分支
$ git branch <branchname>

重命名分支

git branch -m <oldbranch> <newbranch>

删除分支

git branch -d <branchname>
如果该分支还没有完全与上游分支合并,或者在 HEAD 中如果没有上游,Git 将不允许您删除该分支。但是,您可以指定-D以强制删除它,而不管其合并状态如何。

git branch -h

在这里插入图片描述

git checkout

checkout 命令会基于您已经获取的远程存储库中的分支,在您的本地存储库中创建一个分支。
切换分支
git checkout <branch>
这将允许您签出,并切换到您想要的分支。
添加-b选项将创建一个新分支,并切换到它。

创建新的分支追踪远程分支同时切换到该分支

git checkout -b aa origin/master

创建新的分支并切换到该分支

git checkout -b cc

撤销对文件的修改,恢复到最近的提交状态:

git checkout -- file-name

丢弃本地所有修改

(是对比于远程内容的修改部分,不包括新增的文件),回到修改之前的状态:
git checkout .

git checkout -h

git merge

合并分支
git merge <branch>
添加--no-ff选项将导致git merge命令都会是创建合并提交,而不是快进。这很有用,因为它允许您保留合并前分支的历史记录信息。
当您添加--squash选项时,Git 会创建一个代表合并更改的单个提交,而不是创建合并提交。 此提交包含来自合并分支的更改,但不包含任何与合并分支或合并过程本身相关的信息。git merge 命令用于将一个分支的更改合并到当前分支。以下是一些常见的 git merge 命令用法示例:

合并指定分支到当前分支

git merge branch-name

这会将名为 branch-name 的分支的更改合并到当前所在的分支。

合并其他分支并保持提交历史

git merge --no-ff branch-name

这会执行一次普通合并,保留提交历史,即使可以进行快进合并(Fast-Forward Merge)。

合并其他分支但不保留提交历史

git merge --ff-only branch-name

这会强制执行快进合并,如果不能快进合并(Fast-Forward Merge),则不会执行合并操作。

合并其他分支并编辑提交信息

git merge --edit branch-name

这会在合并时打开编辑器以允许编辑合并提交的信息。

合并其他分支并忽略空格更改

git merge -Xignore-space-change branch-name

这会在合并时忽略空格更改,有助于减少合并冲突。

合并其他分支并手动解决冲突

git merge branch-name

在出现冲突后手动解决冲突

git add . 
git commit

如果合并过程中出现冲突,需要手动解决冲突后再提交合并结果。

合并其他分支并保留原始分支状态

git merge --no-commit --no-ff branch-name

这会执行合并操作,但不会自动提交合并结果,可以在合并后再进行修改或检查后再手动提交。

这些是一些常见的 git merge 命令用法示例。根据你的需求和具体情况,你可以选择适合的选项来执行合并操作,并确保合并后的代码库保持整洁和正确。

git merge -h

在这里插入图片描述

http://www.lryc.cn/news/320318.html

相关文章:

  • redis瘦身版
  • 使用ChatGPT高效完成简历制作[中篇]-有爱AI实战教程(五)
  • 论文阅读——SpectralGPT
  • Redis的过期键是如何处理的?过期键的删除策略有哪些?请解释Redis的内存淘汰策略是什么?有哪些可选的淘汰策略?
  • 软件测试方法 -- 等价类边界值
  • LeetCode——贪心算法(Java)
  • 【MySQL】2. 数据库基础
  • 《如何使用C语言去下三子棋?》
  • Linux——线程(4)
  • vite+vue3项目中svg图标组件封装
  • 根据服务器系统选择对应的MySQL版本
  • 【数据结构】栈与队列的“双向奔赴”
  • sqllab第二十七关通关笔记
  • 助推直播产业升级与经济转型 天府锋巢直播产业基地成都开园
  • VSCode+python单步调试库代码
  • 如何使用EMC测试软件执行辐射抗扰度测试?(三)软件检查及手动模式
  • 云手机为电商提供五大出海优势
  • chatgpt大模型基础学习
  • 代码随想录算法训练营第14天 part01 | 二叉树理论基础篇
  • async与defer的区别
  • 奇数乘积(C语言)
  • 中文分词库:jieba的词性对照表
  • Linux:git的基础操作
  • 【华为OD机试】CPU 算力分配【C卷|100分】
  • 挑战杯 机器视觉目标检测 - opencv 深度学习
  • 基于Spring Boot的社区便民服务管理系统的设计与实现
  • 亚信安慧AntDB:数字化创新背后的数据力量
  • Matplotlib数据可视化实战-1数据可视化Matplotlib基础
  • 信也科技发布消费者权益保护2023年度报告: 科技驱动、服务为先、合作共建社会化消保体系
  • REDHAWK——连接(续)