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

git的学习与使用(笔记最全)

什么是git

Git是一种分布式版本控制系统,每个开发者都可以在自己的机器上拥有一个完整的仓库

特点

  • 断网也可以工作:没网的情况下,不会影响工作。
  • 对于未提交到远程库的代码可以随时撤销。
  • 可以查看历史提交记录,以及文件内容的修改记录

git的工作流程

  1. clone(克隆):从远程仓库中克隆代码到本地仓库
  2. checkout(检出):从本地仓库中检出一个仓库分支然后进行修订
  3. add(添加):在提交前先将代码提交到暂存区
  4. commit(提交):提交到本地仓库。本地仓库中保存修改的各个历史版本
  5. fetch(抓取):从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少
  6. pull (拉取):从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge
  7. 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

  1. 进入项目目录中,点击右键打开Git bash窗口
  2. 执行命令git init
  3. 如果创建成功后可在文件夹下看到隐藏的.git目录。

了解工作区、暂存区、本地仓库的关系

  • 工作区:即个人克隆项目到本地后,项目所在的文件夹目录。
  • 暂存区:用于储存工作区中的变更(增删改等改动)的文件的地方。操作时使用git add会将本地所有的变更提交到暂存区中,是提交到仓库之前的缓存区。
  • 本地仓库:用于储存工作区和暂存区中提交上来的文件,使用git commit -m '提交内容的描述'

查看状态git status

  1. git status用来显示工作目录和暂存区的状态
  2. 未创建test.txt文件前使用git status查看会提示无需提交没有任何操作
  3. 创建文件后会提示有个未跟踪的文件test.txt
  4. 然后通过git add test.txt提交到暂存区,会显示新文件test.txt需要提交更改
  5. 使用git commit -m '提交内容的描述'提交到本地仓库
  6. 在用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是一种分布式版本控制系统&#xff0c;每个开发者都可以在自己的机器上拥有一个完整的仓库 特点 断网也可以工作&#xff1a;没网的情况下&#xff0c;不会影响工作。对于未提交到远程库的代码可以随时撤销。可以查看历史提交记录&#xff0c;以及文件内容的修改记…...

windows环境下Grafana+loki+promtail入门级部署日志系统,收集Springboot(Slf4j+logback)项目日志

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…...

学习python时一些笔记

1、winr 命令提示符的快捷键 输入cmd进入终端 2、在终端运行桌面上的python文件 cd desktop(桌面) cd是进入该文件夹的意思。 cd .. 回到上一级 运行python时一定要找到文件的所在地 输入python进入&#xff0c;exit()退出%s字符串占位符%d数字占位符%f浮点数占位符input输…...

php基础学习之错误处理(其二)

在实际应用中&#xff0c;开发者当然不希望把自己开发的程序的错误暴露给用户&#xff0c;一方面会动摇客户对己方的信心&#xff0c;另一方面容易被攻击者抓住漏洞实施攻击&#xff0c;同时开发者本身需要及时收集错误&#xff0c;因此需要合理的设置错误显示与记录错误日志 一…...

云计算 2月28号 (linux的磁盘分区)

一 存储管理 主要知识点: 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID 初识硬盘 机械 HDD 固态 SSD SSD的优势 SSD采用电子存储介质进行数据存储和读取的一种技术&#xff0c;拥有极高的存储性能&#xff0c;被认为是存储技术发展的未来新星。 与传统硬盘相比&#xff0c…...

demo型xss初级靶场

一、环境 XSS Game - Ma Spaghet! | PwnFunction 二、开始闯关 第一关 看看代码 试一下直接写 明显进来了为什么不执行看看官方文档吧 你不执行那我就更改单标签去使用呗 ?somebody<img%20src1%20onerror"alert(1)"> 防御&#xff1a; innerText 第二关…...

【推荐算法系列十八】:DSSM 召回算法

参考 推荐系统中 DSSM 双塔模型汇总&#xff08;二更&#xff09; DSSM 和 YouTubeDNN 都是比较经典的 U2I 模型。 U2I 召回 U2I 召回也就是 User-to-Item 召回&#xff0c;它基于用户的历史行为以及用户的一些个人信息&#xff0c;对系统中的候选物品进行筛选&#xff0c;挑…...

CNAN知识图谱辅助推荐系统

CNAN知识图谱辅助推荐系统 文章介绍了一个基于KG的推荐系统模型&#xff0c;代码也已开源&#xff0c;可以看出主要follow了KGNN-LS 。算法流程大致如下&#xff1a; 1. 算法介绍 算法除去attention机制外&#xff0c;主要的思想在于&#xff1a;user由交互过的item来表示、i…...

大数据经典面试例题

程序员的金三银四求职宝典 随着春天的脚步渐近&#xff0c;对于许多程序员来说&#xff0c;一年中最繁忙、最重要的面试季节也随之而来。金三银四&#xff0c;即三月和四月&#xff0c;被广大程序员视为求职的黄金时期。在这两个月里&#xff0c;各大公司纷纷开放招聘&#xf…...

软考56-上午题-【数据库】-数据库设计步骤2

一、回顾&#xff1a;数据库设计的步骤 1、用户需求分析&#xff1a;手机用户需求&#xff0c;确定系统边界&#xff1b; 2、概念设计&#xff08;概念结构设计&#xff09;&#xff1a;是抽象概念模型&#xff0c;较理想的是采用E-R方法。 3、逻辑设计&#xff1a;E-R图——…...

抖店入驻费用是多少?新手入驻都有哪些要求?2024费用明细!

我是电商珠珠 我做电商做了将近五年&#xff0c;做抖店做了三年多&#xff0c;期间还带着学员一起做店。 今天&#xff0c;就来给大家详细的讲一下在抖音开店&#xff0c;需要多少费用&#xff0c;最低需要投入多少。 1、营业执照200元左右 就拿个体店举例&#xff0c;在入…...

2024东南大学553复试真题及笔记

2023年真题知识点 引用指针 题目为 传递一个指针的引用做修改&#xff0c;输出指针指向的结果&#xff0c;但是指针被修改&#xff0c;结果就不一样了。 static 静态变量 类里面的静态成员变量&#xff0c;很简单的题目 for循环 看循环的内容输出字符串 try try catch捕…...

编程笔记 html5cssjs 096 JavaScript 前端开发(完结)

编程笔记 html5&css&js 096 JavaScript 前端开发 &#xff08;完结&#xff09; 一、前端开发二、范围三、价值四、在软件开发中地位总结 前端开发在软件开发生态系统中扮演着至关重要的角色。随着Web技术和移动互联网的发展&#xff0c;前端不再是简单的页面展示&…...

案例介绍:信息抽取技术在汽车销售与分销策略中的应用与实践

一、引言 在当今竞争激烈的汽车制造业中&#xff0c;成功的销售策略、市场营销和分销网络的构建是确保品牌立足市场的关键。作为一名经验丰富的项目经理&#xff0c;我曾领导一个专注于汽车销售和分销的项目&#xff0c;该项目深入挖掘市场数据&#xff0c;运用先进的信息抽取…...

几种常用的企业加密文件传输方式,最后一种更佳!

随着远程工作和云计算服务的广泛采用&#xff0c;企业必须实施有效的策略来保障敏感信息在传输过程中的安全性。本文将探讨企业在文件加密传输方面的几种常用策略&#xff0c;并重点介绍最后一种方式是如何利用其创新技术为企业提供数据传输的安全保障。 文件加密传输策略 企业…...

【全志D1-H 哪吒开发板】Debian系统安装调教和点灯指南

全志D1-H开发板【哪吒】使用Deabian系统入门 特别说明&#xff1a; 因为涉及到操作较多&#xff0c;博文可能会导致格式丢失 其中内容&#xff0c;会根据后续使用做优化调整 目录&#xff1a; 参考资料固件烧录启动调教点灯问题 〇、参考资料 官方资料 开发板-D1开发板【…...

Redis 8种基本数据类型及常用命令和数据类型的应用场景

小伙伴们好&#xff0c;欢迎关注&#xff0c;一起学习&#xff0c;无限进步 文章内容为学习的一些笔记及工作中遇到的一些问题 文章目录 Redis 五大数据类型keyStringListSetHashSorted Set 三种特殊类型Geospatial 地理位置HyperloglogBitmap Redis 五大数据类型 redis 官方网…...

JAVA内存模型与JVM内存结构

注意区分Java内存模型&#xff08;Java Memory Model&#xff0c;简称JMM&#xff09;与Jvm内存结构&#xff0c;前者与多线程相关&#xff0c;后者与JVM内部存储相关。本文会对两者进行简单介绍。 一、JAVA内存模型(JMM) 1. 概念 说来话长&#xff0c;由于在不同硬件厂商和…...

双导师的中国社科院与英国斯特灵大学创新与领导力博士

自1978年恢复高考之后&#xff0c;很长一段时间里我国的高校系统处于人才很匮乏的状态&#xff0c;那个时候很多高校招聘了大量硕士学历教师&#xff08;其中很多人在留校后又读了在职博士&#xff09;&#xff0c;而且都是事业编制。那么接下来小编与中国社科院与英国斯特灵大…...

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…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...