git的学习与使用(笔记最全)
什么是git
Git是一种分布式版本控制系统,每个开发者都可以在自己的机器上拥有一个完整的仓库
特点
- 断网也可以工作:没网的情况下,不会影响工作。
- 对于未提交到远程库的代码可以随时撤销。
- 可以查看历史提交记录,以及文件内容的修改记录
git的工作流程
- clone(克隆):从远程仓库中克隆代码到本地仓库
- checkout(检出):从本地仓库中检出一个仓库分支然后进行修订
- add(添加):在提交前先将代码提交到暂存区
- commit(提交):提交到本地仓库。本地仓库中保存修改的各个历史版本
- fetch(抓取):从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少
- pull (拉取):从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge
- push(推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
git的安装
git的下载链接,下载安装包,按照流程安装好就可以了
git的配置
账号绑定
账号绑定 Your Name填写你的账号
git config --global user.name "Your Name"邮箱的绑定
邮箱绑定 email@example.com填写你的邮箱
git config --global user.email "email@example.com"生成SSH公钥
生成SSH公钥 email@example.com填写远程仓库邮箱
ssh-keygen -t rsa -C "email@example.com"
查看SSH公钥并绑定远程仓库(gitee)
查看SSH公钥
cat ~/.ssh/id_rsa.pub
绑定到远程仓库Gitee中的SSH公钥
git的基本操作
获取本地仓库git init
- 进入项目目录中,点击右键打开Git bash窗口
- 执行命令git init
- 如果创建成功后可在文件夹下看到隐藏的.git目录。
了解工作区、暂存区、本地仓库的关系
- 工作区:即个人克隆项目到本地后,项目所在的文件夹目录。
- 暂存区:用于储存工作区中的变更(增删改等改动)的文件的地方。操作时使用git add会将本地所有的变更提交到暂存区中,是提交到仓库之前的缓存区。
- 本地仓库:用于储存工作区和暂存区中提交上来的文件,使用git commit -m '提交内容的描述'。
查看状态git status
- git status用来显示工作目录和暂存区的状态
- 未创建test.txt文件前使用git status查看会提示无需提交没有任何操作
- 创建文件后会提示有个未跟踪的文件test.txt
- 然后通过git add test.txt提交到暂存区,会显示新文件test.txt需要提交更改
- 使用git commit -m '提交内容的描述'提交到本地仓库
- 在用git status查看已经没有需要提交的了
查看提交日志git log
命令形式:git log [options]
options参数
- --all 显示所有分支
- --pretty=oneline 将提交信息显示为一行
- --abbrev-commit 使得输出的commitid更简短
- --graph 以图的形式显示
版本回退
修改内容重新提交,发现有两条记录,当我们想返回之前的节点
# HEAD^ 是commit提交的ID git reset --hard HEAD^
查看所有操作记录
如果还想返回已经删除的版本,可以通过git reflog查看操作记录,然后在git reset回退版本
添加文件到忽略列表
可以新建个
.gitignore文件,里面的内容可以决定忽略列表比如忽略一个文件log.txt,在
.gitignore文件中一行填进log.txt如果想要忽略一个文件夹log,在
.gitignore文件中一行填进/logs
git的分支
几乎所有的版本控制系统都以某种形式支持分支,使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的BUg修改、开发新的功能,以免影响开发主线,也可以实现多人协同开发、功能隔离、版本发布等目的
查看本地分支
git branch
创建本地分支
git branch 分支名
切换分支
# 切换分支 git checkout 分支名# 切换分支,如果不存在,直接创建并切换 git checkout -b 分支名
如果分支commit提交了该文件,在其他分支和主分支是看不到的
分支合并
git merge 分支名删除分支
不能删除当前分支,只能删除其他分支(包括主分支)
# 删除分支时,需要做各种检查 git branch -d 分支名# 不做任何检查,强制删除 git branch -D 分支名删除分支恢复
git checkout -b 分支名/ID如果不记得了,可以通过git reflog查看操作记录,然后在恢复
git的冲突解决
冲突出现场景一般是不同分支对同一个文件提交修改不同内容,然后合并的时候出现的问题
- 查看冲突文件
- 检查冲突内容
- 手动修改内容
- 在重修提交
gitee和github的使用
查看是否关联gitee或github远程仓库
git remote关联gitee或github远程仓库
git remote add <name> <url> <name> : 远程仓库的名字,一般是origin <url> : 远程仓库地址推送到远程仓库
[-f] 是强制删除
git push [-f] [--set-upstream] [远端名称[本地分支名][:远端分支名]]如果本地分支名和远程分支名相同,则可以只写本地仓库
git push origin master--set-upstream 推送到远端的同时并目建立起和远端分支的关联关系
git push -set-upstream origin master如果当前分支已经和远端分支关联,则可以省路分支名和远端名。
git push本地分支与远程分支的关联关系
git branch -vv
从远程仓库克隆git clone
git clone <远程仓库> [本地目录]<远程仓库> : 远程仓库的地址抓取git fetch和拉取git pull
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并。如果不指定远端名称和分支名,则抓取所有分支
git fetch [远程仓库的名字] [远程分支的名称]拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge。如果不指定远端名称和分支名,则抓取所有并更新当前分支。
git pull [远程仓库的名称] [远程分支的名称]
相关文章:
git的学习与使用(笔记最全)
什么是git Git是一种分布式版本控制系统,每个开发者都可以在自己的机器上拥有一个完整的仓库 特点 断网也可以工作:没网的情况下,不会影响工作。对于未提交到远程库的代码可以随时撤销。可以查看历史提交记录,以及文件内容的修改记…...
windows环境下Grafana+loki+promtail入门级部署日志系统,收集Springboot(Slf4j+logback)项目日志
🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…...
学习python时一些笔记
1、winr 命令提示符的快捷键 输入cmd进入终端 2、在终端运行桌面上的python文件 cd desktop(桌面) cd是进入该文件夹的意思。 cd .. 回到上一级 运行python时一定要找到文件的所在地 输入python进入,exit()退出%s字符串占位符%d数字占位符%f浮点数占位符input输…...
php基础学习之错误处理(其二)
在实际应用中,开发者当然不希望把自己开发的程序的错误暴露给用户,一方面会动摇客户对己方的信心,另一方面容易被攻击者抓住漏洞实施攻击,同时开发者本身需要及时收集错误,因此需要合理的设置错误显示与记录错误日志 一…...
云计算 2月28号 (linux的磁盘分区)
一 存储管理 主要知识点: 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID 初识硬盘 机械 HDD 固态 SSD SSD的优势 SSD采用电子存储介质进行数据存储和读取的一种技术,拥有极高的存储性能,被认为是存储技术发展的未来新星。 与传统硬盘相比,…...
demo型xss初级靶场
一、环境 XSS Game - Ma Spaghet! | PwnFunction 二、开始闯关 第一关 看看代码 试一下直接写 明显进来了为什么不执行看看官方文档吧 你不执行那我就更改单标签去使用呗 ?somebody<img%20src1%20onerror"alert(1)"> 防御: innerText 第二关…...
【推荐算法系列十八】:DSSM 召回算法
参考 推荐系统中 DSSM 双塔模型汇总(二更) DSSM 和 YouTubeDNN 都是比较经典的 U2I 模型。 U2I 召回 U2I 召回也就是 User-to-Item 召回,它基于用户的历史行为以及用户的一些个人信息,对系统中的候选物品进行筛选,挑…...
CNAN知识图谱辅助推荐系统
CNAN知识图谱辅助推荐系统 文章介绍了一个基于KG的推荐系统模型,代码也已开源,可以看出主要follow了KGNN-LS 。算法流程大致如下: 1. 算法介绍 算法除去attention机制外,主要的思想在于:user由交互过的item来表示、i…...
大数据经典面试例题
程序员的金三银四求职宝典 随着春天的脚步渐近,对于许多程序员来说,一年中最繁忙、最重要的面试季节也随之而来。金三银四,即三月和四月,被广大程序员视为求职的黄金时期。在这两个月里,各大公司纷纷开放招聘…...
软考56-上午题-【数据库】-数据库设计步骤2
一、回顾:数据库设计的步骤 1、用户需求分析:手机用户需求,确定系统边界; 2、概念设计(概念结构设计):是抽象概念模型,较理想的是采用E-R方法。 3、逻辑设计:E-R图——…...
抖店入驻费用是多少?新手入驻都有哪些要求?2024费用明细!
我是电商珠珠 我做电商做了将近五年,做抖店做了三年多,期间还带着学员一起做店。 今天,就来给大家详细的讲一下在抖音开店,需要多少费用,最低需要投入多少。 1、营业执照200元左右 就拿个体店举例,在入…...
2024东南大学553复试真题及笔记
2023年真题知识点 引用指针 题目为 传递一个指针的引用做修改,输出指针指向的结果,但是指针被修改,结果就不一样了。 static 静态变量 类里面的静态成员变量,很简单的题目 for循环 看循环的内容输出字符串 try try catch捕…...
编程笔记 html5cssjs 096 JavaScript 前端开发(完结)
编程笔记 html5&css&js 096 JavaScript 前端开发 (完结) 一、前端开发二、范围三、价值四、在软件开发中地位总结 前端开发在软件开发生态系统中扮演着至关重要的角色。随着Web技术和移动互联网的发展,前端不再是简单的页面展示&…...
案例介绍:信息抽取技术在汽车销售与分销策略中的应用与实践
一、引言 在当今竞争激烈的汽车制造业中,成功的销售策略、市场营销和分销网络的构建是确保品牌立足市场的关键。作为一名经验丰富的项目经理,我曾领导一个专注于汽车销售和分销的项目,该项目深入挖掘市场数据,运用先进的信息抽取…...
几种常用的企业加密文件传输方式,最后一种更佳!
随着远程工作和云计算服务的广泛采用,企业必须实施有效的策略来保障敏感信息在传输过程中的安全性。本文将探讨企业在文件加密传输方面的几种常用策略,并重点介绍最后一种方式是如何利用其创新技术为企业提供数据传输的安全保障。 文件加密传输策略 企业…...
【全志D1-H 哪吒开发板】Debian系统安装调教和点灯指南
全志D1-H开发板【哪吒】使用Deabian系统入门 特别说明: 因为涉及到操作较多,博文可能会导致格式丢失 其中内容,会根据后续使用做优化调整 目录: 参考资料固件烧录启动调教点灯问题 〇、参考资料 官方资料 开发板-D1开发板【…...
Redis 8种基本数据类型及常用命令和数据类型的应用场景
小伙伴们好,欢迎关注,一起学习,无限进步 文章内容为学习的一些笔记及工作中遇到的一些问题 文章目录 Redis 五大数据类型keyStringListSetHashSorted Set 三种特殊类型Geospatial 地理位置HyperloglogBitmap Redis 五大数据类型 redis 官方网…...
JAVA内存模型与JVM内存结构
注意区分Java内存模型(Java Memory Model,简称JMM)与Jvm内存结构,前者与多线程相关,后者与JVM内部存储相关。本文会对两者进行简单介绍。 一、JAVA内存模型(JMM) 1. 概念 说来话长,由于在不同硬件厂商和…...
双导师的中国社科院与英国斯特灵大学创新与领导力博士
自1978年恢复高考之后,很长一段时间里我国的高校系统处于人才很匮乏的状态,那个时候很多高校招聘了大量硕士学历教师(其中很多人在留校后又读了在职博士),而且都是事业编制。那么接下来小编与中国社科院与英国斯特灵大…...
OpenXR 超详细的spec--API初始化介绍
3.API 初始化 3.1 Exported Functions 实现API loader的动态链接库(so/dll)必须export all core OpenXR API functions。然而application可以通过使用xrGetInstanceProcAddr()来获取指向extension函数的指针。 3.2 Function Pointers OpenXR所有函数的指针都可以通过函数xr…...
市面上有哪些是真正性价比高的降AIGC软件(轻松压低AI生成疑似率)
最崩溃的不是查重难题,而是查重达标却AI率超标亮红灯!很多工具只会简单同义词替换、浅层改字,根本洗不掉AI专属句式、行文逻辑和高频模板话术,学校AIGC检测一查一个准,论文直接翻车。 本篇结合全网实测数据,…...
5步终极元数据管理:PDF补丁丁高效修改文档属性完整指南
5步终极元数据管理:PDF补丁丁高效修改文档属性完整指南 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址: https://g…...
3个步骤掌握OBS多平台推流插件:告别重复操作,实现一键多平台直播同步
3个步骤掌握OBS多平台推流插件:告别重复操作,实现一键多平台直播同步 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp OBS多平台推流插件(obs-multi-r…...
Unity 2D跑酷开发全链路实战:从物理帧到对象池的工程化落地
1. 这不是“又一个跑酷游戏”,而是Unity 2D开发能力的完整压力测试 很多人点开“Unity跑酷游戏教程”时,心里想的是:拖几个Sprite,加个Rigidbody2D,写个Input.GetKeyDown(KeyCode.Space)跳一下,再配个背景滚…...
UVa 275 Expanding Fractions
题目分析 本题要求计算两个正整数的除法的小数展开形式,其中分子小于分母,分母小于 100010001000。输入以 0 0 结束。 对于每个分数,需要输出其小数部分(从小数点开始),并且: 如果小数是有限的&…...
X-TRACK开源GPS自行车码表深度解析:从嵌入式架构到离线地图的完全实战指南
X-TRACK开源GPS自行车码表深度解析:从嵌入式架构到离线地图的完全实战指南 【免费下载链接】X-TRACK A GPS bicycle speedometer that supports offline maps and track recording 项目地址: https://gitcode.com/gh_mirrors/xt/X-TRACK X-TRACK是一款基于A…...
手把手教你用STM32CubeMX和HAL库搞定PAJ7620U2手势传感器(附完整初始化代码)
STM32CubeMX与HAL库实战:PAJ7620U2手势传感器全流程开发指南 当你第一次拿到PAJ7620U2手势传感器模块时,可能会被它强大的功能所吸引——它能识别9种手势动作,包括上下左右滑动、前后推拉、顺时针/逆时针旋转以及挥手动作。但随之而来的问题是…...
5分钟快速上手:TegraRcmGUI Switch注入图形化工具终极指南
5分钟快速上手:TegraRcmGUI Switch注入图形化工具终极指南 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款专为Nintendo Switc…...
如何高效解决Windows游戏控制器兼容性问题:ViGEmBus驱动完整指南
如何高效解决Windows游戏控制器兼容性问题:ViGEmBus驱动完整指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款专业的Windows内…...
解锁音乐边界:Windows平台下网易云音乐NCM文件格式转换解决方案
解锁音乐边界:Windows平台下网易云音乐NCM文件格式转换解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 在数字音乐消费日益普及的今天&…...







查看状态git status
查看提交日志git log


添加文件到忽略列表






