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

devtools/2025/2/7 0:08:33/

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

文章目录

      • 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.ppmy.cn/devtools/156651.html

相关文章

优选算法合集————双指针(专题二)

好久都没给大家带来算法专题啦&#xff0c;今天给大家带来滑动窗口专题的训练 题目一&#xff1a;长度最小的子数组 题目描述&#xff1a; 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, …

洛谷P2638 安全系统

安全系统 题目描述 特斯拉公司的六位密码被轻松破解后&#xff0c;引发了人们对电动车的安全性能的怀疑。李华听闻后&#xff0c;自己设计了一套密码&#xff1a; 假设安全系统中有 n n n 个储存区&#xff0c;每个储存区最多能存储存 2 2 2 种种类不同的信号&#xff08;…

实现一个 LRU 风格的缓存类

实现一个缓存类 需求描述豆包解决思路&#xff1a;实现代码&#xff1a;优化11. std::list::remove 的时间复杂度问题2. 代码复用优化后的代码优化说明 优化21. 边界条件检查2. 异常处理3. 代码封装性4. 线程安全优化后的代码示例优化说明 DeepSeek&#xff08;深度思考R1&…

攻防世界 php2

你能验证这个网站吗&#xff1f; 根据提示是PHP&#xff0c;我们知道PHP代码在服务器端执行,可以连接数据库&#xff0c;查询数据&#xff0c;并根据查询结果动态生成网页内容。 PHP代码通常是保存在以.PHP为扩展名的文件上,这些文件存储在web 服务器的文档根目录中&#xff…

maven本地打包依赖无法引用

描述&#xff1a;写了一个RPC的starter包 执行命令后 mvn install 点击引入依赖无反应 手动输入对应的包显示找不到&#xff0c;但是在Maven可以找到 问题在于pom.xml文件&#xff0c;正常打包的maven文件应该可以显示出来&#xff0c;但是由于未删除spring-boot-maven-plug…

HTML 字符实体

HTML 字符实体 在HTML中,字符实体是一种特殊的表示方式,用于在文档中插入那些无法直接通过键盘输入的字符。字符实体在网页设计和文档编写中扮演着重要的角色,尤其是在处理特殊字符、符号和数学公式时。以下是关于HTML字符实体的详细解析。 字符实体概述 HTML字符实体是一…

20250202在Ubuntu22.04下使用Guvcview录像的时候降噪

20250202在Ubuntu22.04下使用Guvcview录像的时候降噪 2025/2/2 21:25 声卡&#xff1a;笔记本电脑的摄像头自带的【USB接口的】麦克风。没有外接3.5mm接口的耳机。 缘起&#xff1a;在安装Ubuntu18.04/20.04系统的笔记本电脑中直接使用Guvcview录像的时候底噪很大&#xff01; …

20250108慧能科技前端面试

目录 ajax 怎么取消请求移动端怎么实现 px 尺寸vite 和 webpack 的区别设计模式讲一下什么是原型链讲一下什么是闭包实现 eventbus事件循环项目发布后&#xff0c;如何对项目进行优化&#xff0c;怎么优化vue2 的 diff 算法和 vue3 的 diff 算法的区别 1. ajax 怎么取消请求 …