坚持用 清晰易懂的图解 + 代码语言,让每个知识点变得简单!
🚀呆头个人主页详情
🌱 呆头个人Gitee代码仓库
📌 呆头详细专栏系列
座右铭: “不患无位,患所以立。”
在这里插入图片描述


《Git从入门到精通:告别版本管理混乱》

  • 前言
  • 目录
  • 🚀版本控制器
  • 🚀Git简史
  • 🚀安装Git
  • 🚀在Gitee / Github上创建项目
    • 🛸注册账号
    • 🛸创建项目
  • 🚀三板斧上传
    • 🛸配置个人信息
    • 🛸git add 命令
    • 🛸git commit -m " " 命令
    • 🛸git push 命令
  • 🚀其他命令


前言

🚀 欢迎来到《Linux系统实战》!
这里是命令行到内核的跃迁基地,也是你从"rm -rf恐惧症"到"权限管理大师"的修炼场。

🔍 专栏特色

  • 图解+实战:用最直观的方式拆解Linux核心机制
  • 从应用到底层:覆盖Shell脚本、系统调优、内核模块开发
  • 真实场景:每篇附服务器运维/开发中的实际问题解决方案

💡 学习建议
1️⃣ 先动手尝试(搞崩了也没关系)
2️⃣ 对照文章分析原理
3️⃣ 用文末【实战任务】巩固技能

📌 Linux经典名言
“Linux不是背出来的,是在一次次Permission denied中练出来的!”

(正文开始👇)


目录

🚀版本控制器

不知道你工作或学习时,有没有遇到这样的情况:我们在编写各种文档时,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出一个副本,比如:

“报告-v1”
“报告-v2”
“报告-v3”
“报告-确定版”
“报告-最终版”
“报告-究极进化版”

每个版本有各自的内容,但最终会只有一份报告需要被我们使用 。
但在此之前的工作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的文件就越来越多,文件多不是问题,问题是:随着版本数量的不断增多,你还记得这些版本各自都是修改了什么吗?
文档如此,我们写的项目代码,也是存在这个问题的!!

为了能够更方便我们管理这些不同版本的文件,便有了版本控制器。所谓的版本控制器,就是能让你了解到一个文件的历史,以及它的发展过程的系统。通俗的讲就是一个可以记录工程的每一次改动和版本迭代的一个管理系统,同时也方便多人协同作业。
目前最主流的版本控制器就是 Git 。Git 可以控制电脑上所有格式的文件,例如 doc、excel、dwg、dgn、rvt等等。对于我们开发⼈员来说,Git 最重要的就是可以帮助我们管理软件开发项目中的源代码文件!


🚀Git简史

同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。

Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。
他们对新的系统制订了若干目标:

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令⼈难以置信的非线性分支管理系统。


🚀安装Git

以CentOS7.6为例:

sudo yum install git -y

在这里插入图片描述


🚀在Gitee / Github上创建项目

🛸注册账号

这个比较简单, 参考着官网提示即可. 需要进行邮箱校验.

🛸创建项目

  1. 登陆成功后, 进入个人主页, 点击右上角的 新建仓库 按钮新建仓库
    在这里插入图片描述
  2. 然后跳转到的新页面中输入仓库名称(注意, 名称不能重复, 系统会自动校验. 校验过程可能会花费几秒钟). 校验完毕后, 根据提示填写信息,初始化仓库后,确认创建.
    在这里插入图片描述
  3. 在创建好的项目页面中复制项目的链接, 以备接下来进行下载.
    在这里插入图片描述
  4. 将远端目录拷贝到本地(采用刚刚复制的链接)
    在这里插入图片描述

此时我们会发现文件中多了Linux,使用vim打开,会发现其内容就是在Gitee中的内容
在这里插入图片描述

在这里插入图片描述在这里插入图片描述


🚀三板斧上传

🛸配置个人信息

git config --global user.email "你的邮箱@example.com"
git config --global user.name "你的用户名"

🛸git add 命令

将代码放到刚才下载好的目录中

git add [文件名]
#添加指定文件git add .   
#所有未添加的文件

在这里插入图片描述

🛸git commit -m " " 命令

将提交改动的信息到本地目录,将暂存区的文件提交到本地

git commit - m “xxx” (xxxx表示你改动的信息或者备注)

提交的时候应该注明提交日志,描述改动的详细内容

git commit -m "XXX"    #添加描述

在这里插入图片描述

🛸git push 命令

在这里插入图片描述
在这里插入图片描述

这里每次提交需要输入自己的账号和密码,如果想要免密配置:
免密配置教程


🚀其他命令

以下是 Git 常用命令的对比表格,包含您提到的命令及补充的其他高频命令,按功能分类整理:

命令作用常用参数/示例适用场景
git pull拉取远程更新并合并本地分支git pull origin main协作开发时同步他人代码
git fetch仅下载远程更新不自动合并git fetch --all查看远程变化后再决定是否合并
git log查看提交历史git log --oneline --graph -n 5回溯代码修改记录
git reflog查看所有操作记录(包括已删除的提交)git reflog show --date=iso恢复误删的分支/提交
git stash临时保存工作区修改git stash push -m "备注"
git stash pop
紧急切换分支时保留未完成的工作
git status查看工作区状态git status -s(简洁模式)快速确认修改/暂存文件
git diff查看文件修改内容git diff HEAD~1(与上一版本对比)代码审查或确认变更
git reset版本回退git reset --hard HEAD~1(彻底回退)
git reset --soft(保留修改)
撤销提交或合并
git branch分支管理git branch -a(查看所有分支)
git branch -d feat(删除分支)
功能开发/修复Bug
git checkout切换分支或恢复文件git checkout -b new-feat(创建并切换)
git checkout -- file.txt(丢弃修改)
多任务并行开发
git cherry-pick选择性合并提交git cherry-pick <commit-hash>移植特定提交到其他分支
git rebase变基操作(整理提交历史)git rebase -i HEAD~3(交互式变基)合并提交记录保持线性历史

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92257.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92257.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/92257.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小红书开源多模态视觉语言模型DOTS-VLM1

项目简介与模型基本介绍 DOTS-VLM1 是由小红书希实验室(Rednote HiLab)开源的多模态视觉语言模型(Vision-Language Model, VLM),旨在推动视觉与语言理解的融合研究。DOTS-VLM1 采用主流的编码-融合-解码架构,支持图片与文本的联合理解与生成,适用于图文问答、图片描述、…

【Git】企业级使用

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【中间件】企业级中间件剖析 基本概念 Git 有三个核心区域&#xff0c;分别是工作区、暂存区和版本库&#xff0c;理解这三个区域是掌握 Git 的基础。​ ​ 工作区就是我们电脑里能看到的文件目录&…

Druid学习笔记 02、快速使用Druid的SqlParser解析

文章目录前言本章节源码描述认识作者官方文档快速入门demo案例引入依赖获取到SQL的AST(抽象语法树)使用visitor完成表、字段、表达式解析汇总总结一、简介1.1、和Antlr生成Parser的区别1.2、Druid SQL Parser的使用场景二、各种语法支持三、性能四、Druid SQL Parser的代码结构…

时间复杂度计算(以for循环为例)

本文理论内容来自严蔚敏版《数据结构(C语言版 第2版)》 *本文仅为复习时的总结&#xff0c;描述不准确、过程不严谨之处&#xff0c;还请理解 一、算法的相关概念 首先复习一下算法的定义及5个重要特性 其次是算法的评价标准 可以看到 时间复杂度 属于算法评价标准中的高效性…

图论(1):图数据结构

目录 一、图的定义 1.1 图的基本概念 1.2 图的分类 &#xff08;1&#xff09;按边的方向&#xff1a; &#xff08;2&#xff09;按边的权值&#xff1a; &#xff08;3&#xff09;按边的数量和类型&#xff1a; &#xff08;4&#xff09;按连通性&#xff1a; 1.3 图…

等保测评-Nginx中间件

Nginx *排查有无Nginx中间件&#xff0c;可使用以下命令&#xff1a; ps -ef | grep nginx、netstat -nutlp *确认Nginx中间件有运行&#xff0c;查看其目录&#xff1a; find / -name nginx.conf、ps -ef | grep Nginx *确认好目录后&#xff0c;查看版本&#xff1a; …

Milvus向量数据库版本升级

创建时间&#xff1a;2025-3-11 更新时间&#xff1a;2025-8-8 作者&#xff1a;薄刀刀、散装DBA 联系方式&#xff1a;bulkdba&#xff0c;1511777 背景&#xff1a;当前版本无法使用分组搜索功能&#xff0c;通过升级版本解决&#xff0c;计划将milvus升级到2.4.15&#xf…

若依前后端分离版学习笔记(六)——JWT

在上一节已经提到了传统Session认证和JWT认证内容&#xff0c;这一节对JWT进行更加详细的了解。 一 JWT介绍 1、传统的session认证 1.1 传统session认证流程 1.用户向服务器发送用户名和密码 2.服务器通过验证后&#xff0c;在当前对话&#xff08;session&#xff09;中保存相…

如何永久删除三星手机中的照片?

如果你计划出售你的三星 Galaxy 手机&#xff0c;或者整理其接近满容量的存储空间&#xff0c;你可能会担心如何从设备中移除照片和其他文件。这对于确保你的个人信息保持安全至关重要&#xff0c;即使你选择通过各种平台捐赠或出售旧手机也是如此。在本文中&#xff0c;我们介…

【数字图像处理系列笔记】Ch06:图像压缩

一、基础知识信源编码器&#xff1a;减少或消除输入图像中的编码冗余、像素 间冗余以及心理视觉冗余。 数据的冗余 一、空间冗余&#xff08;Spatial Redundancy&#xff09;1. 定义图像中相邻像素间的强相关性导致的冗余 —— 同一区域内相邻像素的像素值&#xff08;如灰度、…

windows线程基础

Windows线程机制详解 线程的基本概念 在Windows操作系统中&#xff0c;线程是程序执行的最小单位。每个进程至少包含一个线程&#xff08;主线程&#xff09;&#xff0c;但可以创建多个线程来并行执行任务。线程与进程的主要区别在于&#xff1a; 资源分配&#xff1a;进程拥有…

Numpy科学计算与数据分析:Numpy随机数生成入门

Numpy随机数生成实战 学习目标 通过本课程&#xff0c;学员将掌握如何使用Numpy库生成不同类型的随机数&#xff0c;包括随机整数、随机浮点数以及从特定分布中抽样的方法。本课程将通过理论讲解与实践操作相结合的方式&#xff0c;帮助学员深入理解Numpy在随机数生成方面的强…

使用 C# 通过 .NET 框架开发应用程序的安装与环境配置

文章目录1. .NET介绍2. IDE2.1 Rider 安装2.2 Visual Studio 安装3. SDK安装与环境配置3.1 单独下载安装 .NET SDK3.2 Visual Studio 工作负荷安装SDK4. 相关问题4.1 我以前使用 Unity 写 C# 脚本不需要额外的编译器&#xff0c;为什么现在需要&#xff1f;1. .NET介绍 .NET 是…

Scikit-learn - 机器学习库初步了解

目录1. 主要算法分类1.1 监督学习 (Supervised Learning)1.2 非监督学习 (Unsupervised Learning)1.3 半监督学习 (Semi-Supervised Learning)1.4 强化学习 (Reinforcement Learning)1.5 遗传算法 (Genetic Algorithm)2. 选择合适的机器学习模型2.1 分类 (Classification)2.2 回…

关于 idea 里 properties 文件的中文乱码问题

背景 你会发现 properties 文件里的中文可能会出现乱码。 这个因为 properties 规范是使用 iso-8859-1 存储的&#xff0c;不支持中文&#xff08;也不支持西欧里法语、德语里奇怪的字母&#xff09; properties 的标准制定于很早&#xff0c;所以没考虑这么多&#xff0c;prop…

BVH文件 解析 解读的python第三方类库 推荐

我们面临多个第三方库选项用于解析BVH文件&#xff0c;根据您的列表&#xff0c;我将分析几个关键库的特点&#xff0c;并推荐最适合当前任务的库。我们将基于以下标准进行选择&#xff1a; ​​功能性​​&#xff1a;是否能准确解析关节角度数据&#xff0c;支持关键帧操作 ​…

uni-app X能成为下一个Flutter吗?

哈喽&#xff0c;我是老刘 老刘使用Flutter作为客户端主要技术栈的这六七年的时间里&#xff0c;关于跨平台开发的争议和新技术始终没有停过。 “一套代码&#xff0c;多端运行”——这个让无数开发者心动的承诺&#xff0c;究竟是技术革命还是美丽的谎言&#xff1f; 想象一…

Spring Cloud Gateway全栈实践:动态路由能力与WebFlux深度整合

一、为什么需要下一代网关&#xff1f; 传统网关的三大瓶颈&#xff1a; #mermaid-svg-Kdei9Io6KntYGQc4 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Kdei9Io6KntYGQc4 .error-icon{fill:#552222;}#mermaid-svg-…

MongoDB数据存储界的瑞士军刀:cpolar内网穿透实验室第513号挑战

软件名称&#xff1a;MongoDB 操作系统支持&#xff1a;Linux、Windows、macOS&#xff08;Docker版全平台通用&#xff01;&#xff09; 软件介绍&#xff1a; MongoDB是一个基于分布式架构的NoSQL数据库&#xff0c;擅长处理复杂数据类型&#xff08;如嵌套对象、数组&…

SPI TFT全彩屏幕驱动开发及调试

简介SPI&#xff08;Serial Peripheral Interface&#xff09;是一种广泛使用的串行通信协议&#xff0c;常用于微控制器&#xff08;MCU&#xff09;与外围设备&#xff08;如传感器、显示屏、存储器等&#xff09;之间的通信。SPI具有全双工传输、主从结构和较高的传输速率&a…