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


PyCharm 配置 Anaconda 环境时找不到 python.exe 的解决办法 通过本文的排查步骤与详细解决方案,你应该能够迅速定位并修复 PyCharm 配置 Anaconda 环境时找不到 python.exe 的问题。确保正确设置环境路径、激活目标环境以及手动指定解释器路径是解决此问题的关键。随着开发工具与包管理器的不断更新,类似的问题可能会出现新的变体。持续关注官方文档、社区讨论和版本更新,可以帮助开发者及时适应新变化,并优化工作流程。希望本文提供的分析和代码示例能为你的开发环境配置带来帮助,让你在 PyCharm 与 Anaconda 的高效协同下,专注于创新与代码实现。 阅读详情

相关推荐

保姆级教程:用MATLAB搞定双目相机标定,从导入图片到参数解读全流程

本文提供了一份详细的MATLAB双目相机标定全流程指南,涵盖从图片准备到参数解读的每个环节。重点讲解了棋盘格选择、拍摄技巧、MATLAB工具箱设置及参数优化,帮助读者避免常见错误并提升标定精度。特别适合机器人导航、三维重建等领域的开发者。

weixin_33737134的博客 429

GitHub为项目添加LICENSE协议

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

corleone_4ever的博客 3438

abaqus wcm插件下载_Abaqus随机短纤维增强复合材料建模插件

文末附Abaqus随机短纤维增强复合材料建模插件下载链接前言短纤维增强复合材料相对于长纤维增强复合材料来说更容易制备,且短纤维的填充性能略有改善,可制造复杂产品,广泛应用于车辆、航空航天、建筑等行业,对短纤维增强复合材料进行细观力学分析,可对其宏观力学性能进行预测、分析破坏机理等。接下来对随机短纤维增强复合材料建模插件进行介绍。NO.1 【算法简介】难点一:此插件核心在于判断生成的纤维是...

weixin_39974882的博客 2833

向已有项目添加LICENSE

向已有项目添加LICENSE

masteryi-0018的博客 441

开源代码分享(29)-基于拉丁超立方抽样的风光场景生成和削减

作为分层抽样方法的一 种,拉丁超立方抽样具有良好的抽样精度和效率[14]。本文使用多场景方法来描述可再生能源(风电、光伏)的不确定性。以风电功率为例,首先假定风电功率服从正态分布 N(μ, δ 2 ),μ 为预测值的期望值,δ 为其波动的百分比。接着,采用拉丁超立方抽样[21]生成大量服从概率分布约束的风电出力场景,并采用考虑 Kantorovich 距离[22]的场景削减技术处理该场景,进行场景削减。最后,导出具有相应概率的削减之后的场景。

配电网和matlab的博客 923

逆变器并联--下垂控制引入虚拟阻抗

说明传统下垂控制的缺点、分析虚拟阻抗的原理和实现方法

weixin_58670090的博客 1万+

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

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

琅琊之榜 2640

IEEE论文投稿必看:PDF eXpress报错font not embedded的3种修复方法(附Adobe Acrobat DC操作截图)

本文针对IEEE论文投稿时PDF eXpress系统常见的“font not embedded”报错,提供了三种核心修复方案。首先,详细解析了使用Adobe Acrobat DC进行专业修复的完整操作流程与关键技巧。其次,介绍了无需付费软件的开源与免费工具链(如Ghostscript)解决方案。最后,从源头出发,指导LaTeX和Microsoft Word用户在生成PDF时正确设置以确保字体自动嵌入,帮助研究者彻底解决格式问题,确保投稿顺利。

ujm56789012的博客 516

github 项目添加开源许可证

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

好巧的博客 1万+

DCNv4+YOLOv8:2024最新可变形卷积赋能目标检测,从原理到实战的科研级优化指南

从理解DCNv4“自适应变形卷积核”的核心思想,到亲手将其嵌入YOLOv8并验证在复杂场景的检测效果,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解目标检测中“特征自适应提取”的核心价值。现在就开始行动,相信你会在目标检测的“自适应特征提取”之路上,走出一条属于自己的技术路径。实验通常会证明:嵌入DCNv4后,YOLOv8在复杂场景下的检测精度提升3-5个百分点,尤其是小目标和遮挡目标的AP提升更为明显,而推理速度仅下降5%-10%(可通过模型量化进一步优化)。2024年最新推出的。

m0_64661770的博客 268

YOLOv11改进策略【卷积层】| TIP 2025 MFA 多阶段特征聚合 大核扩感受 + 多梯度融合,强效增强弱小目标特征

红外弱小目标尺寸极小、信噪比低,在特征传递中极易丢失信息;常规卷积感受野单一、梯度源不足,难以同时捕捉局部细节与全局上下文,导致小目标特征表达弱、检测漏检。因此提出多阶段特征聚合 MFA,用大核卷积+多分支+通道注意力强化小目标特征提取。

Limiiiing的博客 585

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

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

weixin_30907935的博客 400

借助Claude实现Playwright的自动化(MCP Server)

MCP Server自己开发也是可以的,现在也有很多开箱即用的MCP Server,可以在https://github.com/modelcontextprotocol/servers中查找。

Criss@陈磊 4228

如何学习git:git学习之路

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

2401_82411601的博客 934

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Git学习计划

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

战族狼魂的博客 802

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Git学习+Git在IDEA中使用

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

梓梓心的博客 2719

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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的专栏 828

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的学习,我们一定要分清楚几个概念,或者说几个分区:工作目录,暂存区,本地仓库以及远程仓。而学习和很多好的理解这里个概念对我们下面的讲解很重要,因为我们主要就是在这里个地方进行工作的,而我们的代码同样就是在这几个地方来回进行切换的。下面我们来讲解 上面就是这几个分区的关系,不过我...

静祥阁 369

通过游戏式学习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、付费专栏及课程。

余额充值