Git 学习总结

Git学习心得:从零到掌握的成长之路 通过Git的学习,我不仅掌握了一个工具,更理解了"版本控制思维"的价值——这种对工作过程进行系统性记录与管理的思维方式,完全可以迁移到论文写作、实验报告等学术场景。而AI工具的辅助,则像拥有了一位不知疲倦的导师,它不会直接给我答案,但总能提供突破思维瓶颈的线索。并且在我犹豫不决时,总可以看看ai是否有好的建议,并且可以随时向它提问,找到答案。未来,我计划将Git的使用延伸到更多领域:用Git管理LaTeX论文版本,用GitHub Pages搭建技术博客,甚至用Git记录机器学习实验过程。 阅读详情
一. Git 的 三棵树——工作区域,暂存区域,Git仓库


二.Git的工作流程:
1.在工作目录中添加,修改文件
2.将需要进行版本管理的文件放入暂存区域
3.将暂存区域的文件提交到Git仓库

三.Git管理的文件有三种状态:
--已修改(modified)
--已暂存(staged)
--已提交(committed)

四.Linux下的Git操作:
[a4729821@JYstd TEST]$ git init      //初始化了一个Git仓库
[a4729821@JYstd TEST]$ ls -a
.  ..  fl2440  .git

[a4729821@JYstd TEST]$ vim REAMD.md

+ REAMD.md                                                                                 
  1 This is a project.

[a4729821@JYstd TEST]$ ls
REAMD.md

[a4729821@JYstd TEST]$ git add REAMD.md    //提交到暂存区域

[a4729821@JYstd TEST]$ git commit -m "add a file"     //将暂存区域的文件提交到Git仓库  参数内容为 “此次操作描述
[master c90ff4f] add a file
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 REAMD.md

a4729821@JYstd TEST]$ git status    //查看工作状态
# On branch master
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    fl2440/.svn/entries
#       deleted:    fl2440/.svn/text-base/README.md.svn-base
#       deleted:    fl2440/README.md
#       deleted:    fl2440/hello.c
#
no changes added to commit (use "git add" and/or "git commit -a")
[a4729821@JYstd TEST]$ git add LICENSE
[a4729821@JYstd TEST]$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   LICENSE             //显示刚刚提交到暂存区域
#
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
 
在这里我们学习一个命令: git reset HEAD <file>
功能:将暂存区域的文件撤回
[a4729821@JYstd TEST]$ git reset HEAD LICENSE
Unstaged changes after reset:
M       fl2440/.svn/entries
M       fl2440/.svn/text-base/README.md.svn-base
M       fl2440/README.md
M       fl2440/hello.c

[a4729821@JYstd TEST]$ git status
# On branch master
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    fl2440/.svn/entries
#       deleted:    fl2440/.svn/text-base/README.md.svn-base
#       deleted:    fl2440/README.md
#       deleted:    fl2440/hello.c
#
# Untracked files:           //显示未被追踪的文件
#   (use "git add <file>..." to include in what will be committed)
#
#       LICENSE               
#       test/

命令:git checkout
例子: git checkout -- LICENSE
功能:上一次提交的暂存区域内容覆盖本地内容   谨慎使用
[a4729821@JYstd TEST]$ vim LICENSE   //稍微修改了文件内容


[a4729821@JYstd TEST]$ git checkout -- LICENSE
[a4729821@JYstd TEST]$ vim LICENSE


文件内容又重新还原了
重新修改再提交



[a4729821@JYstd TEST]$ git add LICENSE
[a4729821@JYstd TEST]$ git commit -m "change LICENSE"
[master 47ea7e0] change LICENSE
1 files changed, 2 insertions(+), 2 deletions(-)

[a4729821@JYstd TEST]$ git log                      //查看历史提交
commit 47ea7e000724cb2dbf895ba47ccdd001e867b789
Author: huangjunyu <771018493@qq.com>
Date:   Tue Apr 24 11:57:53 2018 +0800

    change LICENSE

commit 4fd691f5c39060cb6d93b102c6bf1e239448c43b
Author: huangjunyu <771018493@qq.com>
Date:   Tue Apr 24 11:36:11 2018 +0800

    add a LICENSE FILE

commit c90ff4fadf3fd34de6f6f3908388b2135e8469ef
Author: huangjunyu <771018493@qq.com>
Date:   Tue Apr 24 10:39:42 2018 +0800

    add a file

commit 3b5fdf77bd1887c55ee96a931310abf8a809c066
Author: huangjunyu <771018493@qq.com>
Date:   Sun Apr 22 14:53:22 2018 +0800

    Add fl2440 build shell script

回到过去

[a4729821@JYstd TEST]$ git reset HEAD~            //回到了上一版本
Unstaged changes after reset:
M       LICENSE
M       fl2440/.svn/entries
M       fl2440/.svn/text-base/README.md.svn-base
M       fl2440/README.md
M       fl2440/hello.c
[a4729821@JYstd TEST]$ git status
# On branch master
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   LICENSE
#       deleted:    fl2440/.svn/entries
#       deleted:    fl2440/.svn/text-base/README.md.svn-base
#       deleted:    fl2440/README.md
#       deleted:    fl2440/hello.c
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       test/
no changes added to commit (use "git add" and/or "git commit -a")
[a4729821@JYstd TEST]$ git log
commit 4fd691f5c39060cb6d93b102c6bf1e239448c43b
Author: huangjunyu <771018493@qq.com>
Date:   Tue Apr 24 11:36:11 2018 +0800

    add a LICENSE FILE

commit c90ff4fadf3fd34de6f6f3908388b2135e8469ef
Author: huangjunyu <771018493@qq.com>
Date:   Tue Apr 24 10:39:42 2018 +0800

    add a file

commit 3b5fdf77bd1887c55ee96a931310abf8a809c066
Author: huangjunyu <771018493@qq.com>
Date:   Sun Apr 22 14:53:22 2018 +0800

    Add fl2440 build shell script


CS5511芯片实战:如何用DP转LVDS驱动高刷显示器(附配置代码) 本文详细解析了CS5511芯片在DP转LVDS高刷显示器驱动方案中的应用,包括核心架构、寄存器配置、时序优化及典型问题排查。通过实战案例和配置代码,帮助开发者快速实现120Hz高刷新率显示,特别适合医疗影像和工业HMI等严苛场景。 阅读详情

相关推荐

工程师必看:如何用MINITAB快速计算传感器寿命(附详细步骤)

本文为工程师提供了使用MINITAB软件快速计算传感器寿命的详细实战指南。文章重点阐述了如何通过数据预处理、回归分析拟合阿伦尼斯模型,并最终预测平均寿命与置信区间,帮助工程师高效处理加速寿命试验数据,提升可靠性分析工作的准确性与效率。

weixin_29296241的博客 248

GitHub为项目添加LICENSE协议

1.点击Create new file 2.输入LICENSE,右边会出现一个选项按钮Choose a license template,点击它 3.选择协议模板,我这里选择的Apache开源协议 4.点击Review and submit 5. 提交,提交选择默认第二个创建分支,我这里是选择的第一个,直接提交到主分支 6.提交之后刷新,可以看到自己的...

corleone_4ever的博客 3438

【YOLO 系列】基于YOLO V8的智能车载交通标志识别系统【python源码+Pyqt5界面+数据集+训练代码】

本文详细介绍了基于YOLO V8构建智能车载交通标志识别系统的完整流程。从环境搭建、数据集准备、模型训练到PyQt5图形界面开发,提供了Python源码和实战代码,帮助开发者快速实现高精度、实时的交通标志检测应用,提升驾驶辅助系统的开发效率。

wdx012345的博客 966

向已有项目添加LICENSE

向已有项目添加LICENSE

masteryi-0018的博客 441

高分六号GF-6 WFV数据处理全流程:从原始数据解压到经纬度投影转换

本文详细解析了高分六号GF-6 WFV遥感数据的完整处理流程。从原始数据解压与分块结构理解入手,指导如何安装ENVI国产卫星支持工具进行自动拼接,并重点阐述了利用RPC模型进行正射校正以消除几何畸变,以及将UTM投影转换为地理经纬度坐标的关键步骤。文章旨在帮助用户高效地将原始卫星数据转化为可直接用于农业监测、生态环境分析等领域的标准地理空间图像。

weixin_29047919的博客 196

LBM模式学习·保姆级安装及初步使用教程

在学习LBM的过程中,我感觉可供参考的材料较为有限,对于一个独立学习LBM模式的初学者非常不友好(我就是这个初学者哈哈),因此萌生了写一篇保姆级的LBM模式教程,并将我踩过的坑一一指出,有助于后来者更快地上手该模式,而非半途而废。

weixin_42762673的博客 1万+

Git基础——基本的 Git本地操作

本文涵盖了你在使用Git的绝大多数时间里会用到的所有基础命令。学完之后,你应该能够配置并初始化Git仓库、开始或停止跟踪文件、暂存或者提交更改。我们也会讲授如何让Git忽略某些文件和文件模式,如何简单快速地撤销错误操作,如何浏览项目版本历史并查看版本之间的差异,以及如何向远程仓库推送或从中拉取数据。在本文中,我们将。一方面是因为命令行是唯一可以执行所有Git命令的地方,大多数GUI出于简化的目的,只实现了Git的部分功能,如果你知道如何使用命令行,那大概也能猜出如何使用GUI;不过,反过来可就不一定了。

琅琊之榜 2640

【gcc】跨版本兼容实战:高版本编译程序在低版本glibc环境下的部署方案

本文针对高版本gcc编译的程序在低版本glibc环境下部署的兼容性问题,提供了四种实战解决方案:静态编译的局限性、容器化部署的优雅方案、使用Devtoolset工具链的官方支持,以及最通用灵活的打包依赖SO发布方案。重点剖析了通过设置RPATH和Interpreter或使用patchelf工具,实现程序与自带库的独立部署,有效解决glibc版本鸿沟。

weixin_29237635的博客 362

github 项目添加开源许可证

Choose a license template 默认是隐藏的,输入 LICENSE 之后会显示出来,点击 Choose a license template 进入选择许可证页面。当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。简单来说,最宽松的许可证就是 MIT,基本上选 MIT 许可证就可以了,其余许可证可以自行去了解。,选择要提交到哪个分支上,默认是提交到主分支。

好巧的博客 1万+

别再被systemd-resolved坑了!银河麒麟V10下用Bind9搭建内网DNS的完整避坑指南

本文详细介绍了在银河麒麟V10和Ubuntu系统下部署Bind9 DNS服务器时,如何解决与systemd-resolved的端口冲突问题。提供了五种专业级解决方案,包括彻底禁用systemd-resolved、智能端口转发等,并特别针对银河麒麟V10的安全加固需求给出了配置建议和诊断工具,帮助用户高效搭建内网DNS服务。

weixin_30342209的博客 655

【华为OD机试真题 新系统】959、 水库溃坝填补 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷】959、 水库溃坝填补 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华

KJ.JK 2939

别再手动算坐标了!深入Qt QImage图片变换原理:从镜像、旋转到性能优化

本文深入解析Qt QImage图像变换原理,涵盖镜像、旋转等操作的数学基础与性能优化技巧。通过QImage的mirrored()函数实现高效水平翻转和垂直翻转,结合QTransform提升旋转质量,并分享多线程处理与内存优化策略,帮助开发者提升图形界面开发效率。

weixin_30907935的博客 400

【Ubuntu】RK3576 Linux 6.10 Ubuntu 22.04 系统中 HUSB311 Type-C 转 DP 显示输出与 Device/OTG 模式切换配置详解

本文详细介绍了在Rockchip RK3576开发板(Linux Kernel 6.10+Ubuntu 22.04)上配置HUSB311 Type-C控制器的设备树实现方案。主要内容包括:1)硬件连接与模块组成;2)设备树完整配置,涵盖Type-C供电、USB OTG/Host模式、DP显示输出等关键功能;3)软件配置步骤与常见问题排查方法。该方案实现了Type-C接口的DisplayPort AltMode显示输出、USB Device/Host模式自动切换等功能,为嵌入式系统Type-C接口开发提供参考

qq_34478161的博客 808

如何学习git:git学习之路

Git熟练度 = 基础概念理解 × 实际操作次数 × 解决问题经验最重要的三点:不要急:Git是一个需要时间沉淀的技能多实践:理论再好,不如动手操作一次敢试错:Git的设计很安全,大胆尝试各种命令开始你的Git学习之旅吧!🚀记住:每个Git大师都是从第一次git init开始的。你的Git学习之路,就从今天开始!

2401_82411601的博客 934

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Git学习计划

这篇文章介绍了Git的1V1教学计划,分为理论学习(前3周)和实践操作(后2周)两大部分。理论学习包括Git基本概念、核心术语解析和配置方法;实践操作涵盖基本开发流程和分支管理。每周设定明确的学习目标、内容、方法和任务,如概念总结、思维导图绘制、实际操作记录等。计划强调通过文档阅读、视频学习和项目实践相结合的方式,系统掌握Git的版本控制功能,最终要求对所学内容进行全面复习和总结,并建议进一步学习高级功能。整体安排循序渐进,理论与实践并重。

战族狼魂的博客 802

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Git学习+Git在IDEA中使用

打开git命令窗口右键 ->创建git信息获取Git仓库在本地初始化初始化 手动创建仓库文件夹 -> 执行 git init从远程仓库克隆(常用) git clone 远程仓库地址。

梓梓心的博客 2719

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

git学习

此博客主要用于记录git学习过程中的知识点,以后遗忘的时候可以快速查询。主要学习资料为git的参考api以及B站网课。 系统地学习git这个想法其实是不久之前才萌生的。从大二的时候开始接触到git,只会最简单的git clone,git push,git pull。也一直只会add,commit,push三连。因为那个时候基本只是自己需要从开源网站上获取代码供自己直接使用,以及提交作业,所以学了基本的功能也没有仔细研究深入。这一问题在本学期期末的课设中被无限的放大了。 这一学期我们小组的课设是一个WEB.

qq_44459787的博客 2万+

学习Git的资料你想要的都在这里

一、背景 git 是开发中常见的版本管理工具,掌握好git可以说是现在工作的必备技能之一。 下面推荐一些好的配套网站和软件,以及个人推荐的提交规范。 二、学习资料 推荐几个非常不错的学习网站 官方图书和文档: https://git-scm.com/book/zh/v2 可以查看官方中文版的教程和下载PDF文档 https://git-scm.com/docs 菜鸟教程...

悟鸣的技术博客 3211

git 学习网站

跳转 这是个很好的学习git网站,值得拥有。

Stephen 602

Git学习的最佳教程

身为网页设计师或者网页开发者的你,可能已经听说过Git这个正快速成长的版本控制系统。它由GitHub维护;GitHub是一个开放性的、存储众人代码的网站。如果你想学习如何使用Git,请参考本文。在文章最后,我们罗列了其他Git学习资源。 1. Pro Git Pro Git是由Scott Chacon编写的免费在线图书,Scott现在是Git的开发人员。Pro Git有精彩的结构和一系列有组织

szu030606的专栏 1611

Git - 学习掌握Git的建议

为您整理了不同学习阶段和风格的 Git 优质课程资源,均来自社区广泛推荐,可放心学习。

guoqx的专栏 829

Git学习地址

Git学习地址

weixin_42631192的博客 205

git及github学习资源汇总

git及github学习资源汇总: git-book-zh-v2, git学习仿真沙盒 learn-git-branching等。

第七宇林的博客 460

git学习【完结】

​ 情况3:版本库存在最新版本的代码 xxx code,但是上一版不包含 xxx code,我们通常使用git进行版本控制的流程如下:工作区->(git add)->暂存区->(git commit)->版本库->(git push)->远程仓库,我们情况3撤销的前提是在commit之后没有进行push,撤销的目的就是不要影响远程仓库的代码。​ 因为创建,合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

qq_55317476的博客 1492

Git 学习 —— 简单介绍

声明: 本文是以我自己学习Git的资料作为总结,希望可以对您有所帮助。 对于Git的学习,我们一定要分清楚几个概念,或者说几个分区:工作目录,暂存区,本地仓库以及远程仓。而学习和很多好的理解这里个概念对我们下面的讲解很重要,因为我们主要就是在这里个地方进行工作的,而我们的代码同样就是在这几个地方来回进行切换的。下面我们来讲解 上面就是这几个分区的关系,不过我...

静祥阁 370

通过游戏式学习Git

简介 Learn Git Branching是一个游戏式关卡动画式学习Git的网站,之前一直想找一个以游戏式、关卡升级是的学习方法,这个就是,很好的,先上截图及连接。 image.png image.png [https://learngitbranching.js.org/?locale=zh_CN](https://learngitbranching.js.org/?loca...

web326的专栏 271
上一篇: 内核入门驱动——helloword模块
下一篇: ‘\0’ ,‘0’, “0” ,0之间的区别
G_sng
博客等级 码龄9年 11粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值