经验笔记:git checkout 与 git switch

news/2024/11/23 23:13:21/

Git Checkout 与 Git Switch

引言

在使用 Git 进行版本控制时,git checkoutgit switch 是两个常用的命令,用于分支管理和文件恢复。虽然它们有一些相似之处,但各自的功能和使用场景有所不同。本文将详细介绍这两个命令的用法、区别和实际应用示例,帮助你更好地理解和使用它们。

git_checkout_6">git checkout

基本用法

  1. 切换分支

    git checkout <branch>
    

    例如,切换到 main 分支:

    git checkout main
    
  2. 创建并切换到新分支

    git checkout -b <new-branch>
    

    例如,创建并切换到 feature-branch

    git checkout -b feature-branch
    
  3. 恢复工作区中的文件

    git checkout -- <file>
    

    例如,恢复 file.txt 到最近一次提交的状态:

    git checkout -- file.txt
    
  4. 切换到某个特定的提交

    git checkout <commit_hash>
    

    例如,切换到某个特定的提交 abc1234

    git checkout abc1234
    

    这将使你的工作区处于“分离头指针”(detached HEAD)状态。

高级用法

  1. 创建新分支并切换到特定的提交

    git checkout -b <new-branch> <commit_hash>
    

    例如,从提交 abc1234 创建并切换到 feature-branch

    git checkout -b feature-branch abc1234
    
  2. 恢复文件到特定的提交

    git checkout <commit_hash> -- <file>
    

    例如,恢复 file.txt 到提交 abc1234 的状态:

    git checkout abc1234 -- file.txt
    
  3. 查看某个提交的文件内容

    git checkout <commit_hash> -- <file> | cat
    

    例如,查看提交 abc1234file.txt 的内容:

    git checkout abc1234 -- file.txt | cat
    

git_switch_76">git switch

基本用法

  1. 切换分支

    git switch <branch>
    

    例如,切换到 main 分支:

    git switch main
    
  2. 创建并切换到新分支

    git switch -c <new-branch>
    

    例如,创建并切换到 feature-branch

    git switch -c feature-branch
    
  3. 切换到远程分支

    git switch <remote>/<branch>
    

    例如,切换到远程仓库 originmain 分支:

    git switch origin/main
    

高级用法

  1. 创建并切换到新分支,从某个起点开始

    git switch -c <new-branch> <start-point>
    

    例如,从 main 分支创建并切换到 feature-branch

    git switch -c feature-branch main
    
  2. 强制切换分支并丢弃未提交的更改

    git switch --discard-changes <branch>
    

    例如,强制切换到 main 分支并丢弃未提交的更改:

    git switch --discard-changes main
    

功能对比

  • git checkout

    • 多用途命令,可以切换分支、恢复文件、切换到特定提交等。
    • 功能丰富,但命令复杂,容易混淆。
    • 适用于需要多种操作的场景。
  • git switch

    • 专门用于分支切换的命令。
    • 功能单一,命令简单,易于记忆和使用。
    • 适用于只需要切换分支的场景。

场景选择

  • 初学者:建议使用 git switch,因为它功能明确,命令简单,不容易出错。
  • 高级用户:可以根据具体需求选择合适的命令。如果你需要恢复文件或切换到特定提交,使用 git checkout;如果只需要切换分支,使用 git switch

希望这篇经验笔记对你有帮助!


http://www.ppmy.cn/news/1549391.html

相关文章

中国【食品检测实验室自动化】程度相对欧美等发达国家相对落后,并且技术层面存在明显的代差,未来有比较大的发展空间

摘要 根据 HengCe 研究团队调研统计&#xff0c;2023年全球食品检测实验室自动化市场销售额达到了 亿元&#xff0c;预计2030年将达到 亿元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;为 %&#xff08;2024-2030&#xff09;。中国市场在过去几年变化较快&#xff…

Flink学习连载文档第一篇--Flink集群的安装

Flink支持多种安装模式。 local&#xff08;本地&#xff09;——本地模式 standalone——独立模式&#xff0c;Flink自带集群&#xff0c;开发测试环境使用 standaloneHA—独立集群高可用模式&#xff0c;Flink自带集群&#xff0c;开发测试环境使用 yarn——计算资源统一…

ffmpeg视频滤镜:提取缩略图-framestep

滤镜描述 官网地址 > FFmpeg Filters Documentation 这个滤镜会间隔N帧抽取一帧图片&#xff0c;因此这个可以用于设置视频的缩略图。总体上这个滤镜比较简单。 滤镜使用 滤镜参数 framestep AVOptions:step <int> ..FV....... set frame st…

ubuntu20.04中编译安装gcc 9.2.0

ubuntu20.04中编译安装gcc 9.2.0,步骤如下&#xff1a; #install compile dependence libraries 1&#xff1a;$ sudo apt install libgmp-dev libisl-dev libmpc-dev libmpfr-dev # install gcc 9.2.0 # download source code 2&#xff1a;$ wget http://ftp.gnu.org/gn…

【MySQL】字符集与排序规则

1. 字符集 1.1 一些重要的字符集 1.1.1 ASCII 共收录128个字符&#xff0c;包括空格、标点符号、数字、大小写字母和一些不可见字符。由于总共才128个字符&#xff0c;所以可以使用1个字节来进行编码 1.1.2 ISO-8859-1 共收录 256 个字符&#xff0c;是在 ASCII 字符集的基…

基于LLama_factory的Qwen2.5大模型的微调笔记

Qwen2.5大模型微调记录 LLama-facrotyQwen2.5 模型下载。huggingface 下载方式Modelscope 下载方式 数据集准备模型微调模型训练模型验证及推理模型导出 部署推理vllm 推理Sglang 推理 LLama-facroty 根据git上步骤安装即可&#xff0c;要求的软硬件都装上。 llama-factory运行…

SQL SELECT 语句:基础与进阶应用

SQL SELECT 语句&#xff1a;基础与进阶应用 SQL&#xff08;Structured Query Language&#xff09;是一种用于管理关系数据库的编程语言。在SQL中&#xff0c;SELECT语句是最常用的命令之一&#xff0c;用于从数据库表中检索数据。本文将详细介绍SELECT语句的基础用法&#…

GPTZero:高效识别AI生成文本,保障学术诚信与内容原创性

产品描述 GPTZero 是一款先进的AI文本检测工具&#xff0c;专为识别由大型语言模型&#xff08;如ChatGPT、GPT-4、Bard等&#xff09;生成的文本而设计。它通过分析文本的复杂性和一致性&#xff0c;判断文本是否可能由人类编写。GPTZero 已经得到了超过100家媒体机构的报道&…