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

git `switch` 命令详解与实用示例

文章目录

  • git `switch` 命令详解与实用示例
    • `git switch` vs `git checkout`
    • `git switch` 用法
      • 1. 切换到已有分支
      • 2. 创建并切换到新分支
      • 3. 切换到上一个分支
      • 4. 切换到远程分支(自动创建本地分支并追踪远程)
      • 5. 放弃未提交的修改并切换分支
    • 总结

git switch 命令详解与实用示例

git switch 是 Git 2.23 版本(2019 年发布)引入的一个命令,用于切换分支。它的作用类似于 git checkout,但更加专注于分支管理,使 Git 操作更清晰易懂。

git switch vs git checkout

在 Git 2.23 之前,git checkout 既用于切换分支,也用于检出文件,这容易导致混淆。例如:

  • git checkout branch-name 切换分支
  • git checkout -- file.txt 丢弃文件的修改

为了解决这个问题,Git 引入了 git switch(用于切换分支)和 git restore(用于恢复文件),使命令更加直观。

git switch 用法

1. 切换到已有分支

git switch branch-name

等价于:

git checkout branch-name

示例:

git switch feature-login

切换到 feature-login 分支。

2. 创建并切换到新分支

git switch -c new-branch-name

等价于:

git checkout -b new-branch-name

示例:

git switch -c dev

创建并切换到 dev 分支。

3. 切换到上一个分支

git switch -

等价于:

git checkout -

示例:

git switch -

如果你从 main 切换到了 feature-x,执行该命令后会切回 main

4. 切换到远程分支(自动创建本地分支并追踪远程)

git switch -c local-branch-name origin/remote-branch-name

示例:

git switch -c feature-y origin/feature-y

这会基于远程 feature-y 分支创建并切换到本地 feature-y 分支。

5. 放弃未提交的修改并切换分支

如果当前分支有未提交的修改,Git 会阻止切换。你可以使用 -f 强制切换:

git switch -f branch-name

或者先用 git stash 暂存修改:

git stash
git switch branch-name
git stash pop

总结

命令作用
git switch branch-name切换到已有分支
git switch -c new-branch创建并切换到新分支
git switch -切换到上一个分支
git switch -c local-branch origin/remote-branch基于远程分支创建并切换到本地分支
git switch -f branch-name放弃修改并强制切换分支

相比 git checkoutgit switch 更加直观,推荐在分支管理中使用它。

相关文章:

  • 图论----拓扑排序
  • MyBatis的第三天笔记
  • VSCode使用Remote-SSH连接服务器时启动失败glibc不符合
  • Java学习——day23(反射的对象创建与方法调用)
  • Text-to-SQL技术深度解析:从理论突破到工程实践
  • Jmeter+Jenkins+Ant自动化持续集成环境搭建
  • [ctfshow web入门] web7
  • PyQt6实例_A股日数据维护工具_完整项目代码_终结章
  • Gis相关记录备忘录
  • 软件工程第五章习题
  • 15-产品经理-维护需求
  • redis 和 MongoDB都可以存储键值对,并且值可以是复杂json,用完整例子分别展示说明两者在存储json键值对上的使用对比
  • 贪心算法(16)(java)俄罗斯套娃信封问题
  • 从零到一:用Java和Spring Security构建OAuth2授权服务器
  • 【Vue-vue基础知识】学习笔记
  • 强化学习Q-Learning:DQN
  • 17-产品经理-创建发布
  • Golang 项目平滑重启
  • Python小练习系列 Vol.13:用装饰器记录函数执行时间
  • 蓝桥杯2024年第十五届省赛真题-爬山
  • 新加坡公布新内阁名单,黄循财继续担任总理及财政部长
  • “图像证史”又添新作,800余幅历史图片展现光华大学办学历程
  • 谷歌推出AI全家桶订阅计划:每月付费250美元,搜索引擎加入AI模式
  • 保利、北京建工联合体45.45亿元竞得北京海淀区宅地,溢价率11.95%
  • 国家能源局:4月份全社会用电量同比增长4.7%
  • 李根读《野兽之魂》|拨开高深的布幔,直窥历史的复杂