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

【自学笔记】Git的重点知识点-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

      • Git基础知识
      • Git高级操作与概念
      • Git常用命令
  • 总结


Git基础知识

  • Git简介

    • Git是一种分布式版本控制系统,用于记录文件内容的改动,便于开发者追踪、协同和管理多人参与的项目。
  • Git仓库(Repository)

    • 存储代码的地方,包含代码的历史版本和变化。
    • 可包含多个分支,每个分支代表一个不同的开发方向。
  • Git工作流

    • 工作区(Working Directory):本地看到的目录,对文件的修改会改变工作区的状态。
    • 暂存区(Index/Stage):执行git add命令后,工作区的修改会被添加到暂存区,准备进行提交。
    • 版本库(Repository):执行git commit命令后,暂存区的修改会被提交到版本库,形成新的提交记录。
  • Git提交(Commit)

    • 将代码的变化保存到Git仓库中,每次提交都会生成一个唯一的标识符(Commit ID)。
  • Git分支(Branch)

    • 从主分支(通常是master或main)上分离出来的新分支,用于开发新功能或修复Bug。
    • 分支管理功能强大,支持轻松创建、合并和删除分支。
  • Git合并(Merge)

    • 将一个分支的代码合并到另一个分支上,保留两个分支的代码变化或选择只保留其中一个分支的代码变化。
  • Git拉取(Pull)

    • 从远程仓库中获取最新的代码变化,通常包含fetchmerge两个步骤。
  • Git推送(Push)

    • 将本地仓库中的代码变化上传到远程仓库中,分享给其他开发者。

Git高级操作与概念

  • Git回滚(Reset)

    • 回滚到之前的某个提交版本,使用git reset命令,可根据需要选择回滚到特定的提交。
  • Git撤销修改

    • 撤销对某个文件的修改,使用git checkout -- <file>命令(注意:此操作会丢失未提交的修改)。
  • Git冲突解决

    • 当两个分支的代码发生冲突时,需要手动解决冲突。使用git status查看冲突文件,手动修改后提交。
  • Git标签(Tag)

    • 用于标记某个提交版本,方便后续查找。使用git tag命令创建标签。
  • Git忽略文件

    • 使用.gitignore文件忽略某些文件或文件夹,使它们不被Git管理。
  • Git分支策略

    • 如Gitflow、Feature Branch等分支管理策略,用于规范团队协作中的分支使用。
  • Git Rebase

    • 与Merge类似,用于合并分支。但Rebase会提取当前分支的修改,并将其复制到目标分支的最新提交后面,形成线性的提交历史。

Git常用命令

  • 初始化仓库git init
  • 添加文件到暂存区git add <file>git add .(添加整个项目)
  • 提交代码git commit -m "commit message"
  • 查看提交历史git log
  • 创建分支git branch <branch-name>
  • 切换分支git checkout <branch-name>
  • 合并分支git merge <branch-name>
  • 拉取代码git pull <remote> <branch>
  • 推送代码git push <remote> <branch>
  • 查看状态git status
  • 查看差异git diff
  • 回滚代码git reset --hard <commit-id>
  • 创建标签git tag <tag-name> <commit-id>

以上是Git的主要知识点,涵盖了从基础知识到高级操作的内容。希望这些内容能帮助你更好地理解和使用Git进行版本控制。

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录Git的重点知识点。


http://www.kler.cn/a/532885.html

相关文章:

  • 我们来学人工智能 -- 感悟DeepSeek
  • 寻迹传感器模块使用说明
  • VLAN 基础 | 不同 VLAN 间通信实验
  • 蓝桥杯刷题DAY3:Horner 法则 前缀和+差分数组 贪心
  • 动手学深度学习-3.2 线性回归的从0开始
  • redis底层数据结构
  • LeetCode:392.判断子序列
  • 接口游标分页
  • 本系统旨在为用户提供一个灵活且可扩展的信息安全管理解决方案,通过插件化的开发模式,使得信息安全的维护更加高效、便捷。
  • 云原生详解:构建未来应用的架构革命
  • 996引擎-怪物:Lua 刷怪+清怪+自动拾取
  • 2025_2_4 C语言中关于free函数及悬空指针,链表的一级指针和二级指指针
  • 【Block总结】CoT,上下文Transformer注意力|即插即用
  • IIC重难点-2
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter2-HTML 中的 JavaScript
  • mysql 学习7 DCL语句,用来管理数据库用户,控制数据库的访问权限
  • k8s二进制集群之各节点部署
  • 【华为OD-E卷 - 跳格子2 100分(python、java、c++、js、c)】
  • Git 的安装与基本配置
  • 使用开源项目:pdf2docx,让PDF转换为Word
  • Activity相关学习(一)
  • 进程及从Linux分析进程
  • 25.02.04 《CLR via C#》 笔记14
  • PyQt4学习笔记2】Qt 的 Model/View 架构
  • c++ 程序计算圆的面积(Program to find area of a circle)
  • Vue3 插槽系统详解