「Linux」git的安装与使用

在这里插入图片描述

💻文章目录

  • 📄前言
  • 安装
  • git的使用
    • 配置git
    • 初始化 git 仓库
    • 提交文件
    • 推送到远端
      • 使用HTPPS方式:
      • SSH方式
  • 📓总结


📄前言

git是一款多平台的版本管理器,用于对代码进行版本控制,如果你还不知如何安装git,那么本文将交给你答案。

安装

  • windows
    如果你是在windows上使用git,那么只需要在官网地址 https://git-scm.com/ 下载安装器即可指导你安装git。
    在这里插入图片描述
  • Linux
    在Linux上的下载安装则比较得简单粗暴、一步到位。
# centos
sudo yum -y install git
# ubuntu
sudo apt install git
# Arch
sudo pacman -S git

在安装完git之后可以在命令行输入git来检查是否安装就绪,如果安装就绪,则会跳出一下提示。
在这里插入图片描述检查 git 安装的版本:

git --version

git的使用

配置git

安装完git后的第一件事情就是配置你的 用户名称e-mail地址,如果你在一个多人开发环境,那么这一步就显得非常重要,你写的代码可以和别人的代码所区分开来。

git config [--global] user.name "Your name"
git config [--global] user.emali "Your Email"

–global选项是可选操作,global指的是全局的意思,如果使用了该选项,那么这个机器上的所有git仓库都会默认使用这个设置。

初始化 git 仓库

如果要使用git,那么就必须先创建一个git仓库出来,仓库是用于进行版本控制的一个文件目录。创建一个git本地仓库的命令是git init
在这里插入图片描述我们看到初始化仓库的目录下会多出一个 .git 的文件,这个目录是git用于跟踪与管理仓库的,不能轻易修改,否则很容易让本地仓库损坏。

# 怕你们好奇,我就先把它的内部文件展现出来啦 ^_^
├── branches
├── config
├── description
├── HEAD
├── hooks
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── fsmonitor-watchman.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── pre-merge-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   ├── pre-receive.sample
│   ├── push-to-checkout.sample
│   ├── sendemail-validate.sample
│   └── update.sample
├── info
│   └── exclude
├── objects
│   ├── info
│   └── pack
└── refs
    ├── heads
    └── tags
10 directories, 18 files
  1. 其中 index 就是暂存区,add 后的内容都会添加到这里
  2. HEAD 就是默认指向 master 分支的指针
  • git的三大区域划分

提交文件

学会了如何进行初始化仓库,那么下一步就是将文件添加到暂存区,所有要上传到云端的文件都需要先添加到暂存区。

touch file		
git add file		#增加到暂存区
git commit -m "add file"		# 提交修改
git status
[main 9c518dc] add file
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename file.txt => file1.txt (100%)

我们发现,提交文件修改后,会有信息提示 1 file changed, 0 insertions(+), 0 deletions(-)

推送到远端

既然我们已经提交更改到暂存区了,那么下一步就是推送了。 我们在推送到 github/gitee 前,需要先在网站创建一个储存库。

在这里插入图片描述

上传文件有两种方式选择:

  1. HTTPS
  2. SSH

使用HTPPS方式:

使用https的方式,你需要密匙才可以上传你的更改(以前可以使用密码当作密码,不过现在已经失效了)。

  • 首先你需要到githut设置的中的Developer Settings

在这里插入图片描述

  • 然后点击generate new tokens
    在这里插入图片描述

  • 勾选密匙所需要的访问范围
    在这里插入图片描述

  • 复制密匙并在终端上传(密匙在关闭网页后便不再显示,注意保存哦

在这里插入图片描述

#接下来就可以跟着github给你指示走了
git branch -M main		# 给分支命名 -M指强制命名
git remote add origin https://github.com/你新建的仓库	#增加远程仓库
git push -u origin main	#只需要在第一次给这么多参数,之后只需git push即可

Username for 'https://github.com': #你github的用户名
Password for 'https://CaTianRi@github.com': #你刚才的密匙

SSH方式

使用SSH的方式,你的上传就不需要输入用户名与密码了。

  • 首先需要生成你的密匙,然后复制
ssh-keygen -t rsa -C "your_email" # -t 选项指明密匙的加密方式,-C 选项指明你的邮箱

#############################################
# 之后会生成很多信息,没有特殊需求回车跳过即可 &_&
#############################################

# 复制你生成的公匙
cat ~/.ssh/id_rsa.pub 	#还有一个类似的id_rsa文件,那个是你的私钥,不要随便给别人看哦
  • 添加公匙到github。

在这里插入图片描述

  • 上传
  git branch -M main
  git remote add origin git@github.com:CaTianRi/GitTest.git
  git push -u origin main
  # ssh方式不需要输入账户和密码

📓总结

📜博客主页:主页
📫我的专栏:C++
📱我的github:github

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

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

相关文章

虚幻学习笔记6—摄像机控制

一、前言 摄像机在虚幻中的应用是最常见的。如通常在游戏或应用中会常常出现需要切换不同视角的情况、摄像机拉近缩小等,这个在虚幻中是怎么实现的呢。 二、实现视点切换 2.1、提前设置场景的视点:如图2.1.1所示添加一个摄像机视点到关卡场景中&#x…

Java数据结构之优先级队列(PriorityQueue)

1、概念 队列:是一种FIFO(First-In-First-Out)先进先出的数据结构,对应于生活中的排队的场景, 排在前面的人总是先通过,依次进行。 优先队列:是特殊的队列,从“优先”一词&#xff…

计算机网络(超详解!) 第一节计算机网络的性能指标

1.速率 比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。 比特(bit)来源于 binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。 速率是…

游戏软件的设计方法

游戏软件的设计是一个综合性的过程,涉及到多个方面,包括游戏概念、用户体验、技术实现等。以下是一般的游戏软件设计方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 明确游…

第二十章(多线程)

一.线程的简介 Windows操作系统是多任务操作系统,它以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称为进程。也就是说每个正在执行的程序都是一个进程。系统可以分配给每一个进程有一段有限的使用CPU的时间(也可以…

解释LED显示屏的裸眼3D特效原理

LED电子大屏幕的3D特效技术正在不断发展,而实现这一技术的原理主要包括分光、分色、分时和光栅等四种方法。这些原理都有各自的特点和应用场景,下面将对它们进行详细介绍。 1. 分光方法 分光方法是一种基于偏振光的3D显示技术。通过使用偏振滤镜或偏振片…

RISC-V_WCH系列微控器软件体系云端快速架构

1 概述 RISC-V内核的微控器MCU,正在以更高的性价比,快速取代传统的各类ARM系列微控制处理器。 针对常用的芯成RISC-V内核的泌恒WCH系列微控器MCU,推出了:RISC-V_WCH系列微控器软件体系快速架构云平台。只要以身份证号码做用户名…

好看的css样式案例网站

uiverse 网站地址:https://uiverse.io/all 比如说我们要这个案例的代码 点击get code就可以了 右侧有完整的示例代码。 svg波浪生成器 网站:https://getwaves.io/ 根据自己需求调节好之后点击这个下载按钮就可以了

如何把视频中不需要的人物去掉?

从视频中移除不想要的对象或区域,这项工作以前既繁琐复杂又很消耗时间。但使用“AI智能抠像”工具,只需几个简单的步骤,即可轻松移除视频中任何不想要的人物。 在制作视频的过程中,我们常常会遇到需要将视频中多余的人物去掉的情…

Python基础语法之学习type()函数

Python基础语法之学习type函数 一、代码二、效果 查看数据类型或者说查看变量存储的数据类型 一、代码 print(type("文本")) print(type(666)) print(type(3.14))二、效果 梦想是生活的指南针,坚持追逐梦想,终将抵达成功的彼岸。不要害怕失败…

递归实现全排列

思路: 对于给定的集合,选择一个元素作为当前位置的元素。将当前位置的元素与集合中其他位置的元素交换,依次产生新的排列。通过递归调用,将当前位置向后移动,继续生成新的排列。当当前位置达到集合的末尾时,表示生成了…

万字解析设计模式之观察者模式、中介者模式、访问者模式

一、观察者模式 1.1概述 观察者模式是一种行为型设计模式,它允许一个对象(称为主题或可观察者)在其状态发生改变时,通知它的所有依赖对象(称为观察者)并自动更新它们。这种模式提供了一种松耦合的方式&…

国产操作系统-银河麒麟V10

一、介绍 银河麒麟操作系统隶属于麒麟软件,麒麟软件是专业从事国产操作系统研发和产业化的企业,面向通用和专用领域打造安全创新的国产操作系统产品和相应解决方案,旗下拥有银河麒麟、中标麒麟、星光麒麟三大产品品牌。 麒麟软件官方网站地…

运行新vue3项目

一,下载node并安装 官网:https://nodejs.org/en/ 查看版本: node -v二,cd进入到vue3项目目录 cd D:\Program-space\HBuilderXProject\Vue3project三,npm install npm install四,查看安装 npm list五&a…

Django回顾2

目录 一.HTTP 1.URL介绍 2.格式: 3.补充: 二.web框架 1.什么是框架 2.什么是web框架 3.wsgi协议 基于wsgi协议的web服务器: 4.协议是怎么规定的 三.Django 1.MVC与MTV模型(所有框架其实都遵循MVC架构) 2.…

postgresql以及postgis安装

一、安装postgresql及postgis 1.下载postgresql https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 我选择的版本为“postgresql-14.8-2-windows-x64.exe”。 2.以管理员模式运行安装程序 安装路径建议不要C盘,可能会由于权限问题导致目录…

机器学习实战第3天:手写数字识别

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 ​ 文章目录 一、任务描述 二、数据集描述 三、主要代码 (1)主要代码库的说明与导入方法 (2)数据预…

YOLOv8 onnx 文件推理多线程加速视频流

运行环境: MacOS:14.0Python 3.9Pytorch2.1onnx 运行时 模型文件: https://wwxd.lanzouu.com/iBqiA1g49pbc 密码:f40v 下载 best.apk后将后缀名修改为 onnx 即可模型在英伟达 T4GPU 使用 coco128 训练了 200 轮如遇下载不了可私信获取 代码…

【面试题】JavaScript高级循环方法

给大家推荐一个实用面试题库 1、前端面试题库 (面试必备) 推荐:★★★★★ 地址:web前端面试题库 除了for循环♻️,for-of,for-each循环♻️也是一个不错的选择 先说for-of循环♻️ 认识for-of循环♻️…

【Flutter】graphic图表实现自定义tooltip

renderer graphic中tooltip的TooltipGuide类提供了renderer方法,接收三个参数Size类型,Offset类型,Map<int, Tuple>类型。可查到的文档是真的少,所以只能在源码中扒拉例子,做符合需求的修改。 官方github示例 官方示例 这个例子感觉像是tooltip和提供的那些属性的…