Git的简单使用

news2024/10/7 20:36:40

Git的简单使用

  • 一、关于版本控制
    • 1、文件的版本
    • 2、版本控制软件
      • 1.本地版本控制系统
      • 2.集中化的版本控制系统
      • 3.分布式的版本控制系统
  • 二、Git的简介
    • 1、什么是Git
    • 2、SVN的差异比较
    • 3、Git的记录快照
    • 4、Git中的三个区域
    • 5、使用Git的基本流程
  • 三、Git的基本操作
    • 1、配置Git
      • 1. 配置用户信息
      • 2. 查看全局配置
      • 3. 获取帮助信息
    • 2、获取git仓库的两种方式
      • 1. 将本地目录转换为git仓库
      • 2. 从服务器克隆已存在的git仓库
    • 3、工作区中文件的4中状态
    • 4、检查文件的状态
    • 5、跟踪新文件
    • 6、提交更新文件
    • 7、修改已提交的文件
    • 8、暂存已修改的文件
    • 9、提交暂存已修改的文件
    • 10、撤销对文件的更改
    • 11、向暂存区一次添加多个文件
    • 12、取消暂存的文件
    • 13、跳过使用暂存区
    • 14、从git仓库中移除文件
    • 15、git忽略文件
    • 16、查看提交历史
    • 17、回退到指定版本
  • 四、Github
    • 1、什么是开源
    • 2、什么是开源许可协议
    • 3、什么是开源项目托管平台
    • 4、什么是GitHub
    • 5、GitHub远程仓库的使用
      • 1.GitHub新建空白远程仓库
      • 2.GitHub远程仓库的两种访问方式
      • 3.HTTPS方式访问远程仓库
      • 4.SSH方式访问远程仓库
      • 5.将远程仓库克隆到本地
  • 五、Github的分支
    • 1、什么是分支
    • 2、main主分支
    • 3、功能分支
    • 4、查看分支列表
    • 5、创建新的分支
    • 6、切换分支
    • 7、创建分支加切换到新分支
    • 8、合并分支
    • 9、删除分支
    • 10、分支合并时遇到冲突
    • 11、本地分支推送到远程仓库
    • 12、查看远程仓库中的分支列表
    • 13、跟踪分支
    • 14、拉取远程仓库分支最新的代码到本地分支
    • 15、删除远程仓库中的分支
  • 六、总结

一、关于版本控制

1、文件的版本

在这里插入图片描述

2、版本控制软件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.本地版本控制系统

在这里插入图片描述

2.集中化的版本控制系统

在这里插入图片描述

3.分布式的版本控制系统

在这里插入图片描述

二、Git的简介

1、什么是Git

在这里插入图片描述在这里插入图片描述

2、SVN的差异比较

在这里插入图片描述

3、Git的记录快照

在这里插入图片描述在这里插入图片描述

4、Git中的三个区域

在这里插入图片描述在这里插入图片描述

5、使用Git的基本流程

在这里插入图片描述

三、Git的基本操作

1、配置Git

1. 配置用户信息

在这里插入图片描述

git config --global user.name "xxxx"
git config --global user.name "xxxx@163.com"

2. 查看全局配置

在这里插入图片描述
在这里插入图片描述


通过命令行查看
在这里插入图片描述

git config --list --global
git config user.name
git config user.email

3. 获取帮助信息

在这里插入图片描述

git help config
git config -h

2、获取git仓库的两种方式

在这里插入图片描述

1. 将本地目录转换为git仓库

在这里插入图片描述

git init

在这里插入图片描述

2. 从服务器克隆已存在的git仓库

3、工作区中文件的4中状态

在这里插入图片描述

4、检查文件的状态

在这里插入图片描述

git status

在这里插入图片描述
精简方式显示文件状态

git status -s
git status --short

在这里插入图片描述

5、跟踪新文件

在这里插入图片描述

git add xxx

在这里插入图片描述

6、提交更新文件

在这里插入图片描述在这里插入图片描述

git commit -m "新建了Makefile文件"

在这里插入图片描述

7、修改已提交的文件

在这里插入图片描述

8、暂存已修改的文件

在这里插入图片描述

9、提交暂存已修改的文件

在这里插入图片描述

10、撤销对文件的更改

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git checkout -- xxx

11、向暂存区一次添加多个文件

在这里插入图片描述

git add .

12、取消暂存的文件

在这里插入图片描述

git reset HEAD .

13、跳过使用暂存区

在这里插入图片描述

git commit -a -m "描述"

14、从git仓库中移除文件

在这里插入图片描述

git rm -f xxx
git rm --cached xxx

15、git忽略文件

在这里插入图片描述
在这里插入图片描述

#忽略所有的.a文件
*.a

#但跟踪所有的lib.a,即使在前面忽略了.a文件
!lib.a

#只忽略当前目录下的TODO文件,而不忽略subdir/TODO
/TODO

#忽略任何目录下名为build的文件夹
build/

#只忽略当前目录下名为build的文件夹
/build/

#忽略doc/notes.txt,但不忽略doc/server/arch.txt
doc/*.txt

#忽略doc/目录及其所有子目录下的.pdf文件
doc/**/*.pdf

16、查看提交历史

#按时间先后顺序列出所有的提交历史,最近的提交排在最上面

git log

#只展示最新的两条提交历史,数字可以按需进行填写

git log -2

#在一行上显示最近两条提交历史的信息

git log -2 --pretty=oneline

#在一行上显示最近两条提交历史的信息,并自定义输出的格式
#%h提交的简写哈希值 | %a作者名字|%ar作者修订日期|%s提交说明

git log -2 --pretty=format:"%h | %an | %ar | %s"

17、回退到指定版本

#在一行上展示所有的提交历史

git log --pretty=oneline

#根据指定的提交ID回退到指定的版本

git reset --hard <CommitID>

#在旧版本中查看当时的提交历史

git reflog --pretty=oneline

#再次根据ID,跳转到最新的版本

git reset --hard <CommitID>

疑问
这里只是git仓库中回退到了历史的版本,工作区和暂存区怎么回退到历史版本
后者说是已经都退回到了历史版本

四、Github

1、什么是开源

在这里插入图片描述

2、什么是开源许可协议

在这里插入图片描述

3、什么是开源项目托管平台

在这里插入图片描述

4、什么是GitHub

在这里插入图片描述

5、GitHub远程仓库的使用

1.GitHub新建空白远程仓库

在这里插入图片描述

2.GitHub远程仓库的两种访问方式

在这里插入图片描述

3.HTTPS方式访问远程仓库

在这里插入图片描述
后面再推送代码,直接git push 就可以了,不需要-u origin main了,只有第一次需要

echo "# a" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/huaidanatu/a.git
git push -u origin main
git remote add origin https://github.com/huaidanatu/a.git
git branch -M main
git push -u origin main

4.SSH方式访问远程仓库

SSH key

在这里插入图片描述


1.生成ssh key
在这里插入图片描述

ssh-keygen -t rsa -b 4096 -C "your-email@163.com"

2.配置ssh key
在这里插入图片描述


3.检测ssh key是否配置成功

在这里插入图片描述

ssh -T git@github.com
Hi huaidanatu! You've successfully authenticated, but GitHub does not provide shell access.

4.将本地仓库内容推送到GitHub仓库

echo "# a" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:huaidanatu/a.git
git push -u origin main
git remote add origin git@github.com:huaidanatu/a.git
git branch -M main
git push -u origin main

5.将远程仓库克隆到本地

git clone 地址

五、Github的分支

1、什么是分支

在这里插入图片描述
在这里插入图片描述

2、main主分支

之前叫master,现在叫main
在这里插入图片描述

3、功能分支

在这里插入图片描述

4、查看分支列表

在这里插入图片描述

git branch

5、创建新的分支

在这里插入图片描述

git branch 分支名称
一定要注意,创建完新分支后,还是在原来的分支中呢,没有到新分支中去,只是创建了一个新的分支

6、切换分支

在这里插入图片描述

git checkout 分支名称

7、创建分支加切换到新分支

在这里插入图片描述

git checkout -b 分支名称

8、合并分支

在这里插入图片描述

git checkout main
git merge login
先切换到主分支,然后再合并,就把login分支合并到主分支上去了

9、删除分支

在这里插入图片描述

git branch -d 分支名称
自己不能在要删除的分支上进行删除这个分支的操作

10、分支合并时遇到冲突

在这里插入图片描述

11、本地分支推送到远程仓库

在这里插入图片描述

git push -u 远程仓库别名 本地分支名称:远程分支名称
git push -u origin local_login:login
git push -u origin login

12、查看远程仓库中的分支列表

在这里插入图片描述

git remote show 远程仓库的名字

13、跟踪分支

在这里插入图片描述

相当于只要切换到那个分支,就自动把那个分支动远程仓库中克隆到本地了

14、拉取远程仓库分支最新的代码到本地分支

在这里插入图片描述

git pull

15、删除远程仓库中的分支

在这里插入图片描述

git push 远程仓库名称 --delete 远程分支名称
git push origin --delete login

六、总结

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集合~List

List List集合概述和特点 List集合概述 有序集合&#xff08;也称为序列&#xff09;&#xff0c;用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素&#xff0c;并搜索列表中的元素与Set集合不同&#xff0c;列表通常允许重复的元素 List集合特点 …

【JavaSE】String类总结,StringBuilder、StringBuffer、String的区别讲解

文章目录String对象的构造String类的一些常用方法求字符串的长度字符串判空字符串对象的比较字符串对象的查找字符串对象的转化字符串对象的截取字符串对象的替换字符串对象的拆分字符串对象的大小写转换常用方法总结StringBuilder与StringBuffer字符串为什么不可变String Stin…

Alibaba架构师内部最新发布SpringCloud开发手册,Github限时开源

微服务是SOA之后越来越流行的体系结构模式之一&#xff01; 如果您关注行业趋势&#xff0c;就会发现,如今商业机构不再像几年前那样&#xff0c;开发大型应用程序&#xff0c;来管理端到端之间的业务功能&#xff0c;而是选择快速灵活的微服务。 通过微服务&#xff0c;架构师…

寒气难抵,跨境电商年底仍有一批卖家要出局!

2020年初的新冠疫情仍历历在目&#xff0c;跨境电商在这两年间也是经历了许多不同的波折和困难。从2020年到2022年&#xff0c;由于各国之间出于疫情防控等多方面的考虑&#xff0c;逐渐的增加贸易壁垒&#xff0c;致使跨境电商的物流成本大概增长了50%&#xff0c;物流成本占订…

UE4 回合游戏项目 22- 控制新角色

在上一节&#xff08;UE4 回合游戏项目 21- 添加多种类型的敌人&#xff09;基础上新添加一个玩家角色 效果&#xff1a; 步骤&#xff1a; 1.打开进阶游戏资源&#xff0c;解压“回合迁移_第七节&#xff08;只是新人物包&#xff09;” 2.解压后双击打开工程 3.选中“ziyuan…

免费查题接口系统

免费查题接口系统 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击跳…

微信小程序 | 小程序开发

&#x1f5a5;️ 微信小程序专栏&#xff1a;小程序开发 初级知识 &#x1f9d1;‍&#x1f4bc; 个人简介&#xff1a;一个不甘平庸的平凡人&#x1f36c; ✨ 个人主页&#xff1a;CoderHing的个人主页 &#x1f340; 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️ &#x1f…

51单片机学习笔记2 仿真器的使用及STC89Cxx简介

51单片机学习笔记2 仿真器的使用及STC89Cxx简介&#xff09;一、连接步骤1. 硬件连接2. 安装软件驱动3. 检查是否安装成功二、仿真步骤1. 打开一个51工程2. 选择仿真设备3. Settings设置4. Utilities设置5. 点击仿真三、连接开发板四、STC89Cxx单片机简介1. 单片机2. 51单片机3…

红黑树的插入与验证——附图详解

文章目录红黑树性质红黑树的插入前言寻找插入位置情况 1.0情况 1.1情况 1.2情况 1.3情况 2.0情况 2.1情况 2.2情况 2.3完整代码红黑树的检验验证代码和用例红黑树 上篇文章我们说到 AVL 树在新增 / 减少结点的时候会进行旋转以保持 AVL 树的高度平衡, 但是实际上在需要 频繁加…

【构建ML驱动的应用程序】第 2 章 :制定计划

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

【线程】多线程安全

考点&#xff0c;线程同步有哪些操作&#xff1a; 一、概念 如果一个函数能被多个线程同时调用且不发生竞态条件&#xff0c;则成为它是线程安全&#xff0c;也叫可重入函数。通俗地说就是多线程程序无论调度顺序怎么样都可以得到正确的结果&#xff0c;运行时程序不出错。可重…

2023年浙大MBA项目的后备考阶段三大策略:你永远要相信光的力量

有些人&#xff0c;走着走着就掉队了。距离今年的管理类联考还有一个月时间&#xff0c;一切看似终成定局&#xff0c;但实际上仍有很大转圜空间。对浙大MBA的准考生来说&#xff0c;走到目前这一步&#xff0c;剩下的一个月时间务必要坚持走完&#xff0c;而且要更加的勇敢和底…

SDN功能实现(四)--- 实现自定义action(1)修改OVS源码<队列去重(内核态实现)>

实现功能&#xff1a;设计一个新的action&#xff0c;实现在冗余链路中的数据包去重 一&#xff1a;在内核级定义OVS action &#xff08;一&#xff09;在datapath/linux/compat/include/linux/openvswitch.h中添加&#xff1a; enum ovs_action_attr {/* ... *//** after…

SparkStreaming

sparkstreaming 1.批处理与流处理 spark本身作为引擎时是批处理&#xff0c;从信息源全部读取数据&#xff0c;然后一批一批处理数据。处理sparkSQL等之后再存入hdfs。 sparkstreaming是实时引擎&#xff0c;在一个窗口时间内&#xff08;比如1s&#xff09;积攒数据&#x…

Spring IOC源码:实例化前的准备工作

前言 上篇文章我们讲解了IOC比较重要的后置处理器注册方法&#xff0c;本篇文章讲解实例化前的准备工作&#xff0c;包括国际化、多播器创建、监听器注册等节点。 正文 进入refresh方法中&#xff0c;可以看到在正式实例化初始化方法前&#xff0c;还有4个方法&#xff1a; …

Day09--小程序API的Promise化

1.基于回调函数的异步API的缺点 ************************************************************************************************************** 2.啥子是API Promise化呢&#xff1f; *****************************************************************************…

【Java八股文总结】之MyBatisPlus

文章目录MybatisPlus一、MyBatis Plus介绍1、Mybatis 和 Mybatis Plus 的区别Q&#xff1a;MyBatis的优缺点Q&#xff1a;MyBatis Plus的优点Q&#xff1a;MyBatis-Plus中的lambda表达式&#xff1f;Q&#xff1a;MyBatis中的动态标签有哪些&#xff1f;2、MyBatis Plus常用注解…

ZYNQ之FPGA学习----RAM IP核使用实验

1 RAM IP核介绍 RAM 的英文全称是 Random Access Memory&#xff0c; 即随机存取存储器&#xff0c; 它可以随时把数据写入任一指定地址的存储单元&#xff0c;也可以随时从任一指定地址中读出数据&#xff0c;其读写速度由时钟频率决定 Xilinx 7 系列器件具有嵌入式存储器结…

【OpenCV 例程 300篇】248. 特征描述之HOG描述符

『youcans 的 OpenCV 例程300篇 - 总目录』 【youcans 的 OpenCV 例程 300篇】248. 特征描述之HOG描述符 1. 方向梯度直方图 方向梯度直方图&#xff08;Histogram of Oriented Gradient, HOG&#xff09;使用梯度方向的分布作为特征来构造描述符&#xff0c;应用非常广泛。 梯…

07-HTTPS双向认证及Java案例

1.双向认证流程 客户端发起建立HTTPS连接请求&#xff0c;将SSL协议版本的信息发送给服务端&#xff1b;服务器端将本机的公钥证书&#xff08;server.crt&#xff09;发送给客户端&#xff1b;客户端读取公钥证书&#xff08;server.crt&#xff09;&#xff0c;取出了服务端公…