Git的使用方法

文章目录

    • Git简介
    • Git用法
    • 上传到gitee上

Git简介

简单来说,Git就像一个日志一样,可以帮你记录你对文本文件的修改,但他的功能又强于日志,不仅可以记录,还可以帮你存储那些你对文本文件的修改,当你想要找回之前未修改的文件时,它可以帮你办到。

Git用法

该文章借鉴了廖雪峰的官方网站

  1. 创建一个版本库

     mkdir learngit
     cd learngit
     git init
    

    在learngit目录下创建一个文本文件,比如readme.txt,并写入一些内容

     git add readme.txt
     git commit -m "对本次更改一些说明(写什么内容都可以,但最好写一些对本次修改有提示作用的内容)"
    
  2. 查看当前状态

    可以帮助查看当前目录下的所有文本文件做了那些修改,比如新建文件,修改文件内容等

     git status
    
  3. 查看文本文件做了哪些具体的修改

     git diff <文本文件名>
    
  4. 版本回退

    (1)查询当前所有历史记录

     git log 或者
     git log --pretty=oneline
    

    (2)回退到上一个版本

     git reset --hard HEAD^
     上上个版本就是:HEAD^^
     上100个版本:HEAD~100
    

    (3)如果后悔了,想要回到最新版本

     git reflog       #用来记录你的每一次命令,用这个命令可以查询最新版本的SHA1值
     git reset --hard <最新版本的SHA1值>
    
  5. 工作区和暂存区(stage)
    在这里插入图片描述

  6. Git管理的是修改,而不是文件

    如果进行了以下操作:

     第一次修改 -> git add -> 第二次修改 -> git commit
    

    那么git commit只会提交第一次的修改,第二次的修改还没有被加入暂存区

  7. 撤销修改

    (1)只是修改了文本文件,还没有git add:

     git checkout -- <file>
    

    (2)修改了文本文件,执行了git add,但还没有执行git commit:

     git reset HEAD <file>
     git checkout -- <file>
    

    (3)修改了文本文件,执行了git add,执行了git commit,但还没有推送到远程:

     版本回退即可
    

    (4)修改了文本文件,执行了git add,执行了git commit,把自己的本地版本库推送到远程:

     不可撤销了
    
  8. 删除文件

     git rm <file>
    

    如果只是单纯的手动删除文本文件,没有执行git rm,则可以用以下命令来恢复:

     git checkout -- <file>
    

上传到gitee上

在这里插入图片描述

  • 本地文件夹无.git文件
  1. git init 初始化,创建版本库
  2. git add . 添加所有文件到stage暂存区
  3. git commit -m "注释" 将stage暂存区的内容添加到master分支中,记得添加注释方便回退
  4. git remote add origin 仓库地址 连接远程仓库,origin为自定义的名称
  5. git pull --rebase origin master 同步仓库内容。如果远程仓库为空可以跳过这一步,如果远程仓库不为空,则必须进行这一步,否则会报错。
  6. git push -u origin master 上传到远程仓库
  • 本地文件夹有.git文件
  1. git add .
  2. git commit -am "注释"
  3. git pull --rebase origin master 同步仓库内容。如果远程仓库为空可以跳过这一步,如果远程仓库不为空,则必须进行这一步,否则会报错。
  4. git push origin master
  • 版本回退
    在这里插入图片描述
  1. git log或者git log --pretty=oneline:查看所有的提交记录
  2. git reset --hard 版本id号(例如图中的bfa45...):回退到指定版本号。版本号不用输全,只要能区分即可
  3. git reflog:查看所有的操作
  • 分支管理
  1. git branch:查看分支
  2. git branch 新分支名称:创建新分支
  3. git checkout 分支名称:切换分支
  4. git checkout -b 新分支名称:创建并切换分支
  5. git add .:提交到该分支下的stage暂存区
  6. git commit -m 注释:添加注释,并提交到该分支下
  7. git merge master:合并到master分支下
  8. git checkout master:切换到master分支下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/31392.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ArcGis系列-坐标系转换

Arcgis的工程项目可以添加各种类型的空间资源&#xff0c;比如数据库空间表、shp文件&#xff0c;每张空间表的坐标系可能都会有差异&#xff0c;把他们放到一个工程里时可以统一设置坐标系。 本文将介绍ArcGis三个需要坐标转换的场景&#xff1a; Arcgis Pro设置项目坐标GP分…

论文笔记--GPT-4 Technical Report

论文笔记--GPT-4 Technical Report 1. 报告简介2. 报告概括3 报告重点内容3.1 Predictable Scaling3.2 Capabilities3.3 limitations3.3 Risks & mitigations 4. 报告总结5. 报告传送门6. References 1. 报告简介 标题&#xff1a;GPT-4 Technical Report作者&#xff1a;…

【ABAP】数据类型(四)「类型组TYPE-POOL」

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较…

Mac安装chromedriver

一、chromedriver下载 1、打开chrome浏览器输入&#xff1a;chrome://settings/help 查看当前chrome版本     2、下载对应的chromedriver版本 下载地址&#xff1a;http://chromedriver.storage.googleapis.com/index.html 选择mac系统的chromedriver 直接解压该文件 3、…

SpringBoot使用MockMVC单元测试Controller

前言&#xff1a; 在SpringBoot应用程序中&#xff0c;Controller是接受客户端请求并返回响应数据的核心组件。为了保证Controller的正确性和稳定性&#xff0c;我们可以使用MockMVC框架进行单元测试。MockMVC是Spring框架提供的一个HTTP客户端&#xff0c;用于模拟HTTP请求和响…

华为云“企业快成长大数据与微服务技术创新论坛”成功举办

6月16日&#xff0c;由华为云、msup、厦门火炬大学堂、厦门市行业软件协会联合主办的“企业快成长大数据与微服务技术创新论坛”在厦门成功举办。本次活动汇聚了华为云、珍爱网等知名企业的CTO和技术专家&#xff0c;通过技术案例解析了大数据平台构建、微服务演进等内容&#…

Golang笔记:使用json包处理JSON数据

文章目录 目的Decoding&#xff08;解析数据&#xff09;Encoding&#xff08;创建数据&#xff09;总结 目的 JSON 是一种非常流行的数据交换格式&#xff0c;是JavaScript中原生支持的一种数据&#xff0c;因为其简单方便&#xff0c;所以也经常用在不同程序、不同语言间数据…

【FPGA入门】第七篇、FPGA实现VGA接口驱动

目录 第一部分、实验结果 1、横的三色彩条效果 2、竖的三色彩条效果 第二部分、VGA驱动基本知识 1、VGA分辨率问题 2、VGA驱动波形 2.1、工业标准的时序波形图 2.2、比上面那张图更容易理解的图 2.3、每个区域对应的时间 2.4、不同分辨率的表格 3、VGA扫描范…

【Vue全家桶高仿小米商城】——(四)项目基础架构

第四章&#xff1a;项目基础架构 此章节全力讲解前端基本项目架构&#xff0c;通过此章节可搭建一个通用性的前端架构&#xff0c;内容涵盖跨域方案、路由封装、错误拦截等。 文章目录 第四章&#xff1a;项目基础架构一、前端跨域解决什么是前端跨域&#xff1f;怎么解决前端…

项目调研丨多区块并行处理公链 Transformers 研究报告

目录 一、项目简介 二、项目愿景 三、特色和优势 &#xff08;1&#xff09;速度 &#xff08;2&#xff09;安全 &#xff08;3&#xff09;可扩展性 &#xff08;4&#xff09;高度定制 &#xff08;5&#xff09;不可篡改 &#xff08;6&#xff09;所有数据公开透…

自然语言处理从入门到应用——动态词向量预训练:双向语言模型

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 对于给定的一段输入文本 w 1 w 2 ⋯ w n w_1w_2\cdots w_n w1​w2​⋯wn​&#xff0c;双向语言模型从前向&#xff08;从左到右&#xff09;和后向&#xff08;从右到左&#xff09;两个方向同时建立语言模型。这样做…

论文阅读 - SegFormer

文章目录 1 概述2 模型说明2.1 总体结构2.2 Hierarchical Transformer Encoder2.3 Lightweight All-MLP Decoder 3 SegFormer和SETR的比较参考资料 1 概述 图像分割任务和图像分类任务是非常相关的&#xff0c;前者是像素级别的分类&#xff0c;后者是图像级别的分类。基于分类…

ARM、ARM架构、ARM架构芯片

ARM是一种基于精简指令集&#xff08;RISC&#xff09;的处理器架构&#xff0c;它由英国的ARM公司设计和授权。 ARM芯片具有低功耗、高性能、高集成度等特点&#xff0c;广泛应用于嵌入式系统、移动设备、物联网、服务器等领域。本文将介绍ARM的各类芯片&#xff0c;包括其特…

卷积神经网络中池化层的详细介绍

卷积神经网络自2012年&#xff0c;到2023年经历了翻天覆地的变化。最早的卷积神经网络由卷积层、池化层和全连接层所构成。其中卷积层用于提取图像的特征&#xff0c;池化层削减特征数量&#xff0c;全连接层用于对特征进行非线性组合并预测类别。然而在transformer横行的年代&…

基于卡尔曼滤波进行四旋翼动力学建模(SimulinkMatlab)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

笔记本电脑介绍:记录生活,激发灵感

笔记本电脑是一种轻便、便携的电脑&#xff0c;它的出现改变了人们的工作和生活方式&#xff0c;它的优势在于它的小巧、轻便、便携性&#xff0c;可以满足用户的不同需求。本文将从笔记本电脑的结构、功能、优势和应用四个方面进行详细阐述。 一、笔记本电脑的结构 笔记本电…

十八、网络基础(一)

文章目录 一、协议&#xff08;一&#xff09;前置&#xff08;二&#xff09;协议分层1.软件分层2.协议分层3.OSI七层模型4.TCP/IP五层(或四层)模型&#xff08;1&#xff09;物理层:&#xff08;2&#xff09;数据链路层:&#xff08;3&#xff09;数据链路层:&#xff08;4&…

Golang每日一练(leetDay0104) 最小高度树、戳气球

目录 310. 最小高度树 Minimum Height Trees &#x1f31f;&#x1f31f; 312. 戳气球 Burst Balloons &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一…

普通单目相机标定

前言 这里我们还是以普通相机为例(非鱼眼相机)来进行后续的相关标定操作,再回顾下相机的成像模型如下所示。 已知相机内参(fx,fy,u0,v0),畸变系数[k1,k2,k3,p1,p2],相机外参[R|T]。世界坐标系中点Pw(Xw,Yw,Zw),投影至像素坐标系点p(u,v)的计算过程如下。 1)由世…

Qt下使用QPainter实现界面上饼状图、圆环图的绘制

文章目录 前言一、示例讲解二、圆环图绘制步骤三、设置圆环图数据四、示例完整代码五、下载链接总结 前言 前面的文章有讲述使用Qt下的Charts 模块来进行饼图的绘制&#xff1a;QChart实现ui界面上指定位置饼状图、圆环图的绘制&#xff0c;但是使用过程中并不能很好的实现自己…