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

git学习 分支管理(branching)合并分支

git branch 查看本地所有分支

PS F:\LiveTalking> git branch
* main

git branch -a 查看所有分支 包括本地和远程分支

PS F:\LiveTalking> git branch -a
* main
remotes/origin/HEAD -> origin/main
remotes/origin/ernerf-rtmp
remotes/origin/main

远程分支:是本地仓库里的一个书签或指针 。这个指针的唯一作用是记录上一次你和远程仓库通信时,远程分支(比如origin/main)所处的位置 命名规则就是<remote-name>/<branch_name> 最常见的远程名字是origin 

例如:origin/main:指向远程仓库(origin)上 main 分支的“指针”。

唯一的更新方式是git fetch 和git pull

为什么会说唯一的更新方式是git fetch 和 git pull吗?这两个是获得远程分支的更新情况的 我看deepseek说了一个例子 git branch -a说的意思是根据我们最后一次和总部同步消息 总部有以下这些分支 此时并没有主动去咨询总部 在没有同步消息的这段时间内 是否有更新  而git fetch 就是去咨询总部 请求最新的情况 

git branch <branch name>在本地新建一个分支

PS F:\LiveTalking> git branch liujiangli-branch
PS F:\LiveTalking> git branch
liujiangli-branch
* main

团队协作的时候很重要 每个人都在Main分支上 是很危险的 注意在创建新的分支之前 确定main是最新的 这样的话你同事的对于main的修改 不会导致后期你的代码差异过大

git branch -d <branch-name> 删除一个本地分支 (安全删除 会检查是否已经合并)

PS F:\LiveTalking> git branch -d liujiangli-branch
Deleted branch liujiangli-branch (was b750ae9).
PS F:\LiveTalking> git branch
* main

(我在我的本地爱怎么修改就怎么修改 但是我会将我觉得好的修改必要的Git add 然后再git commit只有经过commit的部分 才会到远程仓库 不然的话就还是在我的本地)

上面那个删除指令 因为我这分支啥操作也没做 我们来试试做操作之后是啥情况

PS F:\LiveTalking> git checkout liujiangli-branch
A       1.py
M       app.py
M       baseasr.py
M       basereal.py
M       lipasr.py
M       lipreal.py
M       llm.py
A       llm1.py
A       ttsreal1.py
M       wav2lip/genavatar.py
M       wav2lip/models/wav2lip.py
M       webrtc.py
Already on 'liujiangli-branch'

我新建了一个liujiangli-branch分支 然后使用checkout切换到这个分支上 可以看到这个分支上存在的内容 这些是没有git add  和commit的 简单看看就行 

git branch -d <branch-name> 删除一个本地分支 (安全删除,会检查是否已合并)删除这个分支不能在此分支上 要切换到其他分支 而且切换的时候如果在这个新分支上进行的修改没commit 不会让你切换 这些自己都实验一下就行

git branch -D <branch-name> 强制删除一个本地分支 即使没有被合并(合并到目标分支)

git checkout <branch-name> 切换到分支

git checkout -b <branch-name> 创建并切换到分支

git switch <branch-name> 切换到分支

git switch -c<branch-name>创建并切换到分支

git merge是针对于分支的合并

git merge <branch-name>指定分支合并到当前分支

写着写着不想写了 差不多了 之后工作的肯定才会应用更多 先这样 

喜欢这个帖子 欢迎点赞

http://www.xdnf.cn/news/19010.html

相关文章:

  • golang13 单元测试
  • Office 2024 长期支持版(Mac中文)Word、Execl、PPT
  • Node.js 多版本管理工具 nvm 的安装与使用教程(含镜像加速与常见坑)
  • 共识算法如何保障网络安全
  • Java全栈开发面试实战:从基础到微服务的深度探索
  • k8s集群Prometheus部署
  • 1 vs 10000:如何用AI智能体与自动化系统,重构传统销售客户管理上限?
  • Wi-Fi数据包发送机制:从物理层到MAC层的深度解析
  • 记录使用ruoyi-flowable开发部署中出现的问题以及解决方法(二)
  • 贴片式TE卡 +北京君正+Rk瑞芯微的应用
  • 直线拟合方法全景解析:最小二乘、正交回归与 RANSAC
  • Transformer实战(15)——使用PyTorch微调Transformer语言模型
  • 了解迁移学习吗?大模型中是怎么运用迁移学习的?
  • 达梦数据库配置文件-COMPATIBLE_MODE
  • 数据结构青铜到王者第七话---队列(Queue)
  • 《websocketpp使用指北》
  • ModuleNotFoundError: No module named ‘dbgpt_app‘
  • Python音频分析与线性回归:探索声音中的数学之美
  • 学习游戏制作记录(存档点和丢失货币的保存以及敌人的货币掉落)8.27
  • 计算机网络——DNS,ARP,RARP,DHCP,ICMP
  • Marin说PCB之包地间距对GMSL2信号阻抗的影响分析--01
  • 【图像算法 - 25】基于深度学习 YOLOv11 与 OpenCV 实现人员跌倒识别系统(人体姿态估计版本)
  • 学习 Android (十七) 学习 OpenCV (二)
  • string::erase
  • Prometheus+Grafana监控安装及配置
  • Python 并行计算进阶:ProcessPoolExecutor 处理 CPU 密集型任务
  • 从“找不到”到“秒上手”:金仓文档系统重构记
  • 《电商库存系统超卖事故的技术复盘与数据防护体系重构》
  • 推荐系统王树森(四)特征交叉+行为序列
  • java基础(十六)操作系统(上)