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

git 版本管理工具 学习笔记

git 学习笔记

目录

一、git是什么

 二、创建仓库

三、工作区域和文件状态

 四、添加和提交文件

五、回退版本 (了解)

六、查看差异

七、删除文件

 八、.gitignore文件(了解)

 九、github ssh-key配置  

 十、本地仓库和远程仓库内容推送


一、git是什么


git是分布式主流版本管理控制系统
结合GitHub管理托管平台使用
使用一个叫仓库的数据库来控制文件的变化,仓库中的每个文件都有一个完整的版本历史纪录,可以看到提交者在什么时间修改了哪些文件的哪些内容,需要时可以回退历史版本

在这里插入图片描述

 二、创建仓库

方式一:在自己的电脑本地直接创建一个仓库 

 创建一个作为项目仓库的文件夹     mkdir  文件夹名

然后进入该目录下 输入命令 :git init

或者在已有本地项目文件夹直接初始化

git init

出现以上回显语句,说明创建成功,而且,会多一个隐藏文件夹 .git 

ls  看不到隐藏文件夹,要   ls -a  才能看到目录下所有文件夹 

 当然,可以直接初始化一个仓库,直接在命令后加上 仓库名,会直接生成对应文件夹

git init my-repo

方式二:从远程服务器上克隆一个已经存在的仓库

git clone github/gitee项目地址
例如:git clone https://github.com/jjw-DL/OpenPCDet-Noted.git

三、工作区域和文件状态

 工作区:电脑里实际可以看到的目录

暂存区:也叫索引,用来临时存放未提交的内容,一般在.git目录下的index中

本地仓库:Git在本地的版本库,仓库信息存储在.git这个隐藏目录中

远程仓库:托管在远程服务器上的仓库,如github\gitlab\gitee

 文件状态

已修改:修改了文件,但没有保存到暂存区

已暂存:把修改后的文件放到暂存库

已提交:把暂存区的文件提交到本地仓库

主要是以上三种,下两种较少提

(未跟踪):新建的还没有被git管理起来的文件

(未修改):已经被git管理起来,内容未被修改

下图为部分转换关系

 四、添加和提交文件

git init   //创建仓库
git status   //查看仓库状态
git add   //添加到暂存区
git add *.后缀名  //添加一类文件到暂存区
git add .    //把当前文件夹下所有文件添到暂存区
git commit   //提交
git commit -m "message"  //提交所有暂存区的⽂件到本地仓库
git commit -am "message"  //提交所有已修改的⽂件到本地仓库
git log  //查看提交记录信息
git log --oneline  //查看提交历史,--oneline表示简介模式ps:
git diff   //查看未暂存的⽂件更新了哪些部分
git diff <commit-id> <commit-id>   //查看两个提交之间的差异git ls-files  //查看暂存区的文件

例如查看状态:

 这是已经提交完成的状态

刚创建的未跟踪的文件是显示红色的

git add 可以使用通配符添加多个同后缀文件

例:下有四个红色未跟踪状态下的文件,txtsh都有

 把以txt结尾的文件添加进暂存区,使用命令

git add   *.txt

运行命令后查看status状态 ,绿色表示在暂存区,红色表示在工作区未添加到暂存区

git commit只会提交暂存区中的文件,不提交工作区的文件

五、回退版本 (了解)

git reset git reset --soft   //工作区和暂存区都不清空
git reset --hard    //工作区清空  暂存区清空  
git reset --mixed    //工作区保留  暂存区清空  --默认此场景

 例如下面三次提交:

下面是  git log 查询的版本号

  复制三份,用来熟悉三种参数操作

 例:尝试soft回退:

 查看提交历史:

 退到第二次提交了

工作区文件还在,内容未变,暂存区文件也还在

查看状态,回到了第二次提交版本,此时 file3 还未提交,仍在暂存区,显示绿色 

hard参数回退到上一版本:工作区暂存区file3都没了

mixed参数回退到上一版本:工作区还有,暂存区没了

六、查看差异

七、删除文件

rm <file> ;git add <file> //本地工作区删除文件,然后暂存删git rm <file>   //从暂存区和工作区同时删除git rm --cached <file>   //暂存区删除,保留在工作区中git rm -r *   //递归删除某个目录下所有子目录和文件,删后提交下ps:
git mv <file> <new-file>  //移动⼀个⽂件到新的位置

 关于rm 后要add, 看到,单纯rm后,暂存区并没删除,所以有git rm  file这个命令,一次就好,

 但还是记得 git commit 提交,不然,删除的文件在版本库中还是存在的

 八、.gitignore文件(了解)

作用是让我们忽略掉一些不应该被加入到版本库中的文件,让仓库体积更小,更干净

 九、github ssh-key配置  

github建立仓库后,有https 和 ssh 两种方式的远程仓库地址,

https开头的方式在我们需要把本地代码push到远程仓库的时候,要验证账户和密码

git 开头的使用ssh协议,这种方式在推送的时候不需要验证用户名和密码,但需要在github上添加ssh公钥的配置,更安全

github 配置ssh密钥:

直接git clone 在github上的地址,发现报无法建立连接

键入:

ssh-keygen

回显密钥文件生成位置,直接回车,跳出设置二次验证密码,没必要,直接回车,再回车确认空填二次验证密码 ,如下图,成功

 记事本打开公钥.pub 文件,全选内容,复制

 打开github页面,头像处点击,进入settings,

 左侧栏找到ssh and gpg keys ,进入,点击add keys

 如图,可以取一个名字

可能会跳出验证github的账号密码,输入就行

可以测试一下连接,输入如下命令

ssh -T git@github.com

 测试通过

 总结:

 十、本地仓库和远程仓库内容推送

再次克隆我们创建的github仓库,克隆成功

复习一下添加命令,以及推送到平台

进入仓库,创建个小文件,写入 hello

 git add 添加到暂存区,git commit 添加到本地仓库

 此时,github还是看不到我们的hello.txt

因为没有从本地仓库推送到远程平台仓库

所以,执行 git push 命令

 此时,刷新 github 仓库页面,发现已经推送成功

十、关联本地仓库和远程仓库

git remote add origin ....github仓库地址....
----------------------------
git branch -M mian   //指定分支名称为main
----------------------------
git push -u origin main  
//把本地的main分支和远程的origin别名的仓库的main分支关联起来
//其实,完整语句应该是:
//git push -u origin main:main
//如果本地分支和远程分支名字相同的话,就写一个main就行啦----------------------------
git pull origin main
//远程仓库上在线修改了文件的话,或者其他人的本地仓修改了推上去,
//而我们在本地仓库要同步的话,需要拉取同步,这时要使用pull
//作用是把远程仓库的指定分支拉取到本地进行合并

以刚才例子做说明步骤

 可以看到现在远程仓库对应别名就是 origin ,后面就是对应地址

 push 具体例子上一节有

示范一下 pull 操作

github上在线新增一个 readme 文件

 不输入别名 分支名 ,则默认仓库别名为origin,分支为main

 本地仓库新增了修改的新增readme文件

 查看内容,一致

 注意,执行完pull,会自动执行合并操作,如果远程仓库修改内容和本地仓的修改内容没有冲突的话,合并操作就会成功,否则会冲突失败,需要手动解决

fetch 命令也可以获取远程仓的修改,但不会自动合并,具体冲突问题在学习分支时再记录

小节总结:

 2023.8.7

相关文章:

git 版本管理工具 学习笔记

git 学习笔记 目录 一、git是什么 二、创建仓库 三、工作区域和文件状态 四、添加和提交文件 五、回退版本 &#xff08;了解&#xff09; 六、查看差异 七、删除文件 八、.gitignore文件&#xff08;了解&#xff09; 九、github ssh-key配置 十、本地仓库和远程仓库内…...

Bean基本注解开发和Bean依赖注入注解开发

目录 1.Bean基本注解开发 Component Scorelazy PostConstruct和PreDestroy RepositoryServiceController 2.Bean依赖注入注解开发 Value Autowired Qualifier Resource 扩展AutoWired 1.Bean基本注解开发 基本Bean注解&#xff0c;主要是使用注释的方式替代原有xml的…...

使用IIS服务器搭建一个网站

参考文章 使用IIS&#xff08;Internet Information Services&#xff09;服务器搭建一个网站相对来说是比较简单的。以下是基本的步骤&#xff1a; 安装IIS&#xff1a; 首先&#xff0c;确保你的操作系统已经安装了IIS。在大多数Windows版本中&#xff0c;IIS都是可选安装项…...

HCIP 三层交换机

一、实现VLAN间通信 在传统的交换机组网中&#xff0c;默认所有网络都处于同一个广播域&#xff0c;带来了许多问题&#xff0c;VLAN技术的提出&#xff0c;满足了二层组网隔离广播域需求&#xff0c;使得属于不同的VLAN间网络无法通信&#xff0c;但不同VLAN之间又存在着互相…...

利用python 进行数据分析(第三版)第二章小结

利用python 进行数据分析&#xff08;第三版&#xff09;第二章小结 由于是闲暇时间看的&#xff0c;且为读书笔记&#xff0c;所以只会写一些心得和容易混淆的知识&#xff0c;简单知识将不在重复 在变量或者函数后使用?可以查看详细信息。?还有最后一个用途&#xff0c;即…...

【ASP.NET MVC】使用动软(四)(12)

一、筛选器类和Cookie实现路由 需解决的问题&#xff1a; 网站登录往往需要用户名密码验证&#xff0c;为避免重复验证&#xff0c;一般采用Cookie 、Session等技术来保持用户的登录状态&#xff1a; Session是在服务端保存的一个数据结构&#xff0c;用来跟踪用户的状态&…...

【web逆向】全报文加密及其登录流程的分析案例

aHR0cHM6Ly9oZWFsdGguZWxkZXIuY2NiLmNvbS9zaWduX2luLw 涉及加密库jsencrypt 定位加密点 先看加密的请求和响应&#xff1a; 全局搜索加密字段jsondata&#xff0c;这种非特定参数的一般一搜一个准&#xff0c;搜到就是断点。起初下的断点没停住&#xff0c;转而从调用栈单步…...

MyBatis枚举映射类讨论

前言 本篇需要对于MyBatis有一定的认识&#xff0c;而且只是针对于TypeHandler接口来讨论&#xff0c;暂不讨论其他方面的问题 TypeHandler概叙 TypeHandler是MyBatis设计的一个用于参数的接口&#xff0c;你们会不会很好奇MyBatis是如何把整形&#xff0c;时间&#xff0c;字符…...

微信开发之朋友圈自动点赞的技术实现

简要描述&#xff1a; 朋友圈点赞 请求URL&#xff1a; http://域名地址/snsPraise 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wId…...

Linux命令200例:sed对文本进行修改、替换和删除等操作的强大工具(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…...

python 合并多个excel文件

使用 openpyxl 思路&#xff1a; 读取n个excel的文件&#xff0c;存储在一个二维数组中&#xff0c;注意需要转置。将二维数组的数据写入excel。 安装软件&#xff1a; pip install openpyxl源代码&#xff1a; import os import openpyxl # 将n个excel文件数据合并到一个…...

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

前言 在做性能测试时&#xff0c;如果有一个性能测试结果实时展示的页面&#xff0c;可以极大的提高我们对系统性能表现的掌握程度&#xff0c;进而提高我们的测试效率。但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试&#xff0c;而且它自带的监视器效…...

wordpress日主题Ripro9.0最新二开修正源码下载+美化包和插件

日主题Ripro9.0最新二开升级修正源码美化包和插件&#xff0c;RiPro9.0的二开版本新模板&#xff0c;包含2个美化包和全屏水印以及防复制插件。 模板和美化包路径:\wp-content\themes 插件路径&#xff1a;\wp-content\plugins&#xff0c;有兴趣的自行去体验吧...

fib Model Code史海拾贝

文章目录 0. 背景1. 强度等级不一致&#xff08;20230807&#xff09;1.1 问题描述&#xff08;20230807&#xff09;1.2 问题探索 0. 背景 本文主要记录在学习了解ModelCode的过程中产生的问题。当然&#xff0c;主要是我个人认为有意思的地方。欢迎有共同兴趣的网友留言一起…...

6.7.tensorRT高级(1)-使用onnxruntime进行onnx模型推理过程

目录 前言1. python-ort2. C-ort总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习 tensorRT 高级-使用 onnxruntime 进行 on…...

360未来安全研究院笔试题

笔试时间:2020.04.16,15:00-17:30。 岗位:Linux 安全开发工程师(实习生) 题型: 能力测试——逻辑题(20个5分=100分) 专业测试——客观题(40个2分=80分) 专业测试——在线编程题(2个25分=50分) 逻辑题 一共40道题目,很多逻辑推断题,包含数字找规律和图片找…...

Linux SSH 远程连接主机,并执行命令

应用场景 当需要远程到另一台Linux上&#xff0c;并在另一台机器上执行 Shell 命令&#xff0c;则需要注意命令的书写格式 示例说明 远程到 192.158.157.47 机器上&#xff0c;并执行命令 cd /tmp && ./zabbixagent_install.sh && echo Success 1、错误方式…...

FAST协议详解1 不同数据类型的编码与解码

一、概述 FAST协议里不同的数据类型在编码时有非常大的区别&#xff0c;比如整数只需要将二进制数据转为十进制即可&#xff0c;而浮点数则需要先传小数点位数&#xff0c;再传一个整数&#xff0c;最后将二者结合起来才是最终结果。本篇使用openfast自设了一些数据并编码成FA…...

黑马大数据学习笔记5-案例

目录 需求分析背景介绍目标需求数据内容DBeaver连接到Hive建库建表加载数据 ETL数据清洗数据问题需求实现查看结果扩展 指标计算需求需求指标统计 可视化展示BIFineBI的介绍及安装FineBI配置数据源及数据准备 可视化展示 P73~77 https://www.bilibili.com/video/BV1WY4y197g7?…...

网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)

TCP/IP协议族 一、IP协议 1、IP协议简介 IP协议又称网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议&#xff0c;是网络层中的协议。 2、特点 不可靠:它不能保证IP数据包能成功地到达它的目的地&#xff0c;仅…...

新手零基础入门:用快马ai生成你的第一个arduino流水灯程序

作为一个刚接触Arduino的新手&#xff0c;我最近在InsCode(快马)平台上完成了第一个LED流水灯项目。整个过程比我预想的顺利很多&#xff0c;特别适合零基础的朋友入门体验。下面分享我的学习过程和几点实用心得&#xff1a; 硬件准备其实很简单 只需要一块Arduino UNO开发板和…...

如何通过ImageToSTL实现图像三维化?解锁创意设计新可能

如何通过ImageToSTL实现图像三维化&#xff1f;解锁创意设计新可能 【免费下载链接】ImageToSTL This tool allows you to easily convert any image into a 3D print-ready STL model. The surface of the model will display the image when illuminated from the left side.…...

老虎证券季报图解:营收1.76亿美元同比增41% 净利4566万美元

雷递网 雷建平 4月2日老虎证券&#xff08;NASDAQ: TIGR&#xff09;日前发布截至2025年12月31日的财报。财报显示&#xff0c;老虎证券2025年营收为6.12亿美元&#xff0c;较上年同期的3.92亿美元增长56.1%。其中&#xff0c;老虎证券2025年来自佣金收入为2.67亿美元&#xff…...

FFXIV_ACT_CutsceneSkip:副本动画智能跳过解决方案

FFXIV_ACT_CutsceneSkip&#xff1a;副本动画智能跳过解决方案 【免费下载链接】FFXIV_ACT_CutsceneSkip 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_ACT_CutsceneSkip 冗长动画如何影响副本体验&#xff1f; 在《最终幻想14》的高难度副本中&#xff0c;重复…...

OpenClaw技能扩展实战:用Phi-3-vision自动生成图文周报

OpenClaw技能扩展实战&#xff1a;用Phi-3-vision自动生成图文周报 1. 为什么需要自动化周报 每周五下午&#xff0c;我的电脑桌面上总会堆满散乱的Excel表格、截图和零散的Markdown笔记。作为技术负责人&#xff0c;我需要将这些碎片信息整合成结构化的图文周报&#xff0c;…...

实战分享:我是如何搞定SHEIN新版反爬(anti-in, smdeviceid, armortoken, x-gw-auth)的

电商平台数据采集实战&#xff1a;逆向工程与参数生成策略 最近半年&#xff0c;电商平台的反爬机制呈现出明显的升级趋势。以某国际快时尚电商为例&#xff0c;其新增的四个核心校验参数&#xff08;anti-in、smdeviceid、armortoken、x-gw-auth&#xff09;构成了完整的安全验…...

实测分享:电脑端专业金价查看软件 AnyGold,办公盯盘两不误

作为经常关注黄金行情的开发者与上班族&#xff0c;日常总被浏览器反复刷新、网页卡顿、广告弹窗、数据分散等问题困扰。最近试用了 AnyGold 这款电脑端金价查看工具&#xff0c;连续使用两周&#xff0c;整体体验稳定、轻量、实用。下面以纯实测角度&#xff0c;客观讲讲它的功…...

Fish Speech 1.5快速上手:一键部署,轻松实现中英日韩13种语言语音合成

Fish Speech 1.5快速上手&#xff1a;一键部署&#xff0c;轻松实现中英日韩13种语言语音合成 1. 为什么选择Fish Speech 1.5&#xff1f; 上周我帮一个跨国团队部署语音合成系统&#xff0c;他们需要在24小时内完成中英日韩四语的商品介绍语音生成。传统方案需要部署多个语音…...

GHelper硬件控制工具:华硕笔记本性能优化与系统管理完全指南

GHelper硬件控制工具&#xff1a;华硕笔记本性能优化与系统管理完全指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Str…...

ESP32-S3双下载方案对比:VSCode一键烧录 vs 乐鑫Flash工具实操

ESP32-S3双下载方案深度评测&#xff1a;VSCode高效开发 vs 乐鑫工具链生产级部署 1. 开发环境配置与工具链解析 对于ESP32-S3开发者而言&#xff0c;选择正确的开发工具直接影响项目效率。当前主流方案可分为两类&#xff1a;基于VSCode的集成化开发环境和乐鑫官方Flash下载工…...