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

Git 的基本使用指南(1)

Git 暂存区:提交前的"预览准备室"

你可能会好奇,为什么 Git 要有暂存区?其实,暂存区就像一个"变更预览区",它让你在正式提交前,能精准控制哪些修改会被纳入版本历史。想象一下:你同时改了三个文件,其中两个已经完成,另一个还在调试——这时暂存区就能帮你只提交前两个文件,避免把未完成的内容混入提交记录。

暂存区核心操作

  • 添加单个文件到暂存区 当你修改了某个文件(比如 hello.html),想要将它纳入下一次提交时,用 git add 命令指定文件:

    git add hello.html

    执行后,通过 git status 命令可以看到,hello.html 已经从"未暂存"状态变为"已暂存",就像在说"这个文件准备好了,可以提交啦"。

  • 批量暂存所有修改 如果多个文件都改好了,逐个添加太麻烦?用这两个命令可以一次性暂存所有已修改、已删除的文件(注意:新创建的未跟踪文件也会被包含):

    git add --all  # 与 git add -A 效果完全相同

    执行后,所有变动都会进入暂存区,适合一次整理多个文件的场景。

  • 取消暂存:把文件"移出来" 不小心把还没改好的文件加入了暂存区?别担心,用 git rm --cached 可以撤销:

    git rm --cached hello.html

    这个命令只会把文件从暂存区移除,不会删除本地文件,放心使用~

Git 提交:给版本历史"拍张快照"

如果说暂存区是"准备室",那提交(commit)就是"存档处"。每一次提交都会给当前项目状态拍一张"快照",并附带一条描述信息——这就像给照片写注解,以后翻看时能立刻明白"这张快照记录了什么变化"。

提交操作全指南

  • 基础提交:保存暂存区内容 当暂存区准备就绪,用 git commit -m 加上描述信息完成提交:

    git commit -m "First release of Hello World!"

    这里的描述信息非常重要,尽量写清楚"做了什么"(比如"修复登录按钮样式"),而不是"怎么做到的",方便自己和团队成员日后追溯。

  • 快捷提交:跳过暂存直接提交已跟踪文件 如果你修改的都是已经被 Git 跟踪的文件(不是新创建的文件),可以用 -a 参数跳过暂存步骤,直接提交所有修改:

    git commit -a -m "Quick update to README"

    ⚠️ 注意:这个命令对新文件无效!新文件必须先用 git add 加入暂存区才能提交。

  • 多行详细描述:当一条信息不够时 如果修改比较复杂,想写更详细的说明(比如分点描述改动),可以直接输入 git commit(不加 -m):

    git commit

    这时会自动打开你的默认编辑器(通常是 Vim 或 VS Code),让你编写多行提交信息,写完保存退出即可完成提交。

  • 实用提交技巧

    • 创建空提交(比如用于初始化项目或标记流程起点):

      git commit --allow-empty -m "Start project"
    • 复用上次的提交信息(适合快速补充提交,无需重新写描述):

      git commit --no-edit
    • 修正最近一次提交(比如漏加了文件,想合并到上一次提交):

      git commit --amend --no-edit  # 保留原描述,只补充内容
  • 查看提交历史:回溯版本足迹git log 命令可以查看所有提交记录,包括每次提交的哈希值(类似版本号)、作者、时间和描述:

    git log

    从日志里能清晰看到项目的演变过程,就像翻阅一本版本历史日记。

Git 标签:给重要版本"贴个书签"

在项目开发中,总会有一些关键节点值得纪念:比如第一个正式版本发布、某个重大功能上线……这时就需要用"标签"(tag)给这些节点做个标记。标签就像书签,能让你快速定位到历史中的重要版本,比记长长的提交哈希值方便多了。

标签的类型与操作

  • 两种常用标签类型

    • 轻量级标签:简单的名称标记(如 v1.0),仅作为提交的"别名",不含额外信息。

    • 带注释标签:包含作者、创建时间和详细说明(用 -m 指定),适合正式发布或需要共享的重要节点,推荐优先使用。

  • 创建标签

    # 创建轻量级标签
    git tag v1.0
    ​
    # 创建带注释标签(推荐)
    git tag -a v1.0.1 -m "Version 1.0.1 release:修复支付接口Bug"
  • 给历史提交打标签 有时需要给过去的某个提交打标签(比如补标之前的版本),只需指定目标提交的哈希值即可:

    git tag v1.1 1a2b3c4d  # 1a2b3c4d 是目标提交的哈希值(可通过 git log 查看)
  • 标签管理:查看与删除

    • 列出所有标签:git tag(按字母顺序排列,方便快速查找)

    • 查看标签详情(包括指向的提交信息):git show v1.0

    • 删除本地标签:git tag -d v1.0(仅删除本地,不影响远程)

  • 同步标签到远程仓库 标签默认只存在于本地,想让团队其他人看到?需要手动推送到远程仓库:

    # 推送单个标签
    git push origin v1.0
    ​
    # 一次性推送所有本地标签
    git push --tags
  • 删除远程标签 如果标签打错了,需要从远程仓库删除时,先用 git tag -d 删除本地标签,再执行:

    git push origin --delete tag v1.0
  • 移动标签位置(谨慎操作) 偶尔需要将标签从旧提交移到新提交(比如修复版本号错误),但这可能影响依赖该标签的人,建议提前沟通:

    # 强制将 v1.0 标签关联到新提交
    git tag -f v1.0 <new-commit-hash>
    # 强制推送到远程(覆盖原有标签)
    git push --force origin v1.0

掌握暂存区、提交和标签的使用,就掌握了 Git 版本控制的核心流程。这些工具能帮你精准管理代码变化,让项目历史清晰可查,无论是个人开发还是团队协作,都会变得更高效。

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

相关文章:

  • Arpg第二章——流程逻辑
  • 自动驾驶中的传感器技术15——Camera(6)
  • 数字化转型驱动中小制造企业的质量管理升级
  • TFS-2022《A Novel Data-Driven Approach to Autonomous Fuzzy Clustering》
  • 【深度学习②】| DNN篇
  • 编译器与解释器:核心原理与工程实践
  • 基于Postman进行http的请求和响应
  • 操作系统:远程过程调用( Remote Procedure Call,RPC)
  • Jupyter notebook如何显示行号?
  • SQL Server从入门到项目实践(超值版)读书笔记 22
  • Spring事务失效场景
  • kotlin小记(1)
  • 集合框架(重点)
  • linux ext4缩容home,扩容根目录
  • 网络安全基础知识【6】
  • Ext系列文件系统
  • 【软考中级网络工程师】知识点之级联
  • 错误处理_IncompatibleKeys
  • 企业资产|企业资产管理系统|基于springboot企业资产管理系统设计与实现(源码+数据库+文档)
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第6章 锁
  • 在linux(ubuntu)服务器上安装NTQQ并使用
  • junit中@InjectMocks作用详解
  • Redisson高并发实战:Netty IO线程免遭阻塞的守护指南
  • 零基础 “入坑” Java--- 十六、字符串String 异常
  • wxPython 实践(六)对话框
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频摘要生成与智能检索优化进阶(377)
  • ARMv8/v9架构FAR_EL3寄存器介绍
  • 图漾AGV行业常用相机使用文档
  • UE5 Insight ProfileCPU
  • MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?