「Linux」git的安装与使用

news2024/11/23 8:45:23
在这里插入图片描述

💻文章目录

  • 📄前言
  • 安装
  • 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

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

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

相关文章

Git指定分支或文件回退到指定版本

文章目录 一、分支回滚1.1、使用 git reset 命令1.2、使用 git revert 命令1.3、使用 git checkout 命令 二、文件回滚2.1、回滚未提交文件2.2、回滚已提交文件2.2.1、首先查看文件的历史版本2.2.2、找到你想要还原的版本2.2.3、将文件还原到你想要还原的版本2.2.4、提交代码 三…

【数据结构初阶(5)】链式队列的基本操作实现

文章目录 队列的定义初始化队列队尾入队列队头出队列取队头元素取队尾元素获取队列有效元素个数判断队空销毁队列 因为队列比较简单,关于队列的概念就不过多赘述了,本文只讲链队的基本操作实现 队列的定义 定义队列结点结构 链队中的每个结点都应该包…

RK3568平台开发系列讲解(Linux系统篇)pinctrl api介绍及实验

🚀返回专栏总目录 文章目录 一、pinctrl函数介绍二、设备树案例三、驱动案例 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍pinctrl api及其使用案例 。 一、pinctrl函数介绍 ①获取设备对应的 pinctrl…

在Matlab里安装gurobipy怎么安装教程

在Matlab 里安装gurobipy 先在CMD里激活, 然后添加系统环境变量 GRB_LICENSE_FILEC:\gurobi10.2\gurobi.lic 然后输入 addpath(D:\gurobi1003\win64\matlab) addpath(C:\gurobi1003\win64\matlab) addpath(C:\gurobi1002\win64\matlab) C:\gurobi1003\win64\m…

多功能智慧路灯系统整体解决方案介绍

在不改变现有城市景观的前提下,利用现有路灯改造,或新建多功能叁仟智慧路灯的方法,可实现城市无线网络、视频监控、物联传感网络、新能源充电系统、网格信息化管理的全覆盖,有效解决信息化设备选址难、取电难等问题。在目前无线通…

可以免费使用的Axure在线版来了

Axure作为一种功能强大的原型设计工具,一直受到设计师的青睐。然而,其高昂的价格可能成为一个门槛,限制了一些设计师的选择。但不用担心,现在有一个免费的Axure在线工具即时设计,功能更完整,更划算&#xf…

智能优化算法应用:基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.飞蛾扑火算法4.实验参数设定5.算法结果6.参考…

小程序如何进行版本回退

当商家决定回退小程序版本时,可能是因为新版本出现了一些问题或者不符合预期,需要恢复到之前的稳定版本。下面具体介绍怎么回退小程序的版本。 在小程序管理员后台->版本设置处,点击版本回退。确认后,小程序会回退到上一次的版…

基于springboot-“有光”摄影分享网站系统(2023年☆全网唯一)【附源码|数据库|表结构|万字文档(LW)|技术文档|说明文档】

主要功能 前台登录: 注册用户:用户账号、密码、姓名、手机号、身份证号、性别、邮箱 用户: ①首页、公告资讯展示、图片素材展示、活动展示、视频素材展示、查看更多 ②论坛、发布帖子、活动、活动标题、活动类型、公告资讯、公告标题、公告…

Day43力扣打卡

打卡记录 子数组的最小值之和(乘法原理 单调栈) 大佬的题解 class Solution:def sumSubarrayMins(self, arr: List[int]) -> int:n len(arr)# 左边界 left[i] 为左侧严格小于 arr[i] 的最近元素位置(不存在时为 -1)left, s…

消失的数字,旋转数组(leetcode 一题多解)

目录 一、消失的数字 思路一(暴力求解)代码实现: 思路二(数列的思想)代码实现: 思路三(异或的运用)代码实现: 二、轮转数组 思路一(暴力求解&#xff09…

viple模拟器使用(三):unity模拟器中实现沿右墙迷宫算法

沿右墙迷宫算法 引导 线控模拟可以使得通过用户手动操作,实现机器人在模拟环境下在迷宫中行走(即:运动),算法可以使得机器人按照一定的策略自动行走,沿右墙迷宫算法就是其中的一种策略。 目的 运行程序后&…

C++学习之路(七)C++ 实现简单的Qt界面(消息弹框、按钮点击事件监听)- 示例代码拆分讲解

这个示例创建了一个主窗口,其中包含两个按钮。第一个按钮点击时会显示一个简单的消息框,第二个按钮点击时会执行一个特定的操作(在这个例子中,仅打印一条调试信息)。 功能描述: 创建窗口和布局:…

RT-DETR改进 | 2023小目标改进 | InnerEIoU、InnerSIoU、InnerWIoU、InnerDIoU等二十余种损失函数

论文地址:官方Inner-IoU论文地址点击即可跳转 官方代码地址:官方代码地址-官方只放出了两种结合方式CIoU、SIoU 本位改进地址: 文末提供完整代码块-包括InnerEIoU、InnerCIoU、InnerDIoU等七种结合方式和其AlphaIoU变种结合起来可以达到二十…

【大家的项目】Tran 简洁, 快速, 划词翻译

技术栈: rusttaurisolidjstypescript 欢迎萌新参与练手, 也欢迎大手子来魔改, ⭐star 当然是多多益善啦, ヾ(≧▽≦*)o Tran 简洁, 快速, 划词翻译 Keep it simple,stupid. 功能 划词翻译划过固定 划过关闭划过复制 快捷键: Alt X 构建 To \ FormZHJAZH…

中间件安全:Weblogic 漏洞.(使用工具可以利用多种类型漏洞)

中间件安全:Weblogic 漏洞.(使用工具可以利用多种类型漏洞) WebLogic 是美国 Oracle 公司出品的一个 application server,确切的说是一个基于 JAVA EE 架构的中间件,WebLogic 是用于开发、集成、部署和管理大型分布式…

【JAVA学习笔记】72 - 满汉楼 - 餐饮管理系统

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter26 一、需求说明 满汉楼项目功能多,界面复杂,涉及到复杂的awt和swing技术和事件编程,做如下调整: 1.去掉界面和事件处理(工作中使用很少),使…

OpenCvSharp从入门到实践-(03)像素

目录 像素 1、确定像素位置 2、获取像素的BGR值 3、修改像素的BGR值 像素 图像数字化是指用数字表示图像,每一幅数字图像都是有M行N列的像素组成的,其中每一个像素都存储一个像素值。计算机通常会把像素值处理为256个灰度级别,这256个灰…

小航助学题库蓝桥杯题库stem选拔赛(23年8月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSD…

Maven生命周期

Maven生命周期 通过IDEA工具的辅助,能很轻易看见Maven的九种生命周期命令,如下: 双击其中任何一个,都会执行相应的Maven构建动作,为啥IDEA能实现这个功能呢?道理很简单,因为IDEA封装了Maven提供…