【Linux】Linux工具学习之git

news2024/9/25 13:16:57

在这里插入图片描述
🔥博客主页 小羊失眠啦.
🎥系列专栏《C语言》 《数据结构》 《C++》 《Linux》 《Cpolar》
❤️感谢大家点赞👍收藏⭐评论✍️


在这里插入图片描述

文章目录

  • 前言
  • 一、账号注册
    • 1.1 GitHub与Gitee
  • 二、构建仓库
  • 三、安装git
  • 四、配置git
  • 五、克隆仓库
  • 六、代码提交三板斧
    • 6.1 add 新增
    • 6.2 commit 添加
      • 6.3 push 推送
  • 七、常用指令

前言

git 是一个代码托管平台,它的创始人是大名鼎鼎的 Linux 之父: 林纳斯·托瓦兹git的诞生可以使我们对已提交的代码历史版本进行回溯,这是一个十分重要的功能,除了查看历史版本外,git 还支持代码合并和打标签等诸多使用功能;简言之,有了 git 以后,我们可以随时随地的对代码进行管理
在这里插入图片描述

一、账号注册

git 只是一个工具,要想实现便捷的代码管理,就需要借助第三方平台进行操作,当然第三平台也是基于 git 开发的

在这里插入图片描述

注:BAT也有自己开发的代码托管平台,已经归入自家的云产品中

1.1 GitHub与Gitee

代码托管平台有很多,这里我们首选 Github ,理由很简单,全球开发者都在使用的平台,但是由于某些不可控因素,我们可能无法对其进行很好的访问,于是我们就退而求其次,选择 gitee(码云),这是面向国内的平台,访问速度快,全中文显示,值得学习使用

首先我们需要去到 gitee 的官网注册一个账号

在这里插入图片描述

账号注册好后,登录就可以了


二、构建仓库

有了账号之后,我们就可以开始创建属于自己的第一个仓库了

在这里插入图片描述

在这里插入图片描述

完成如上操作,我们就得到一个属于自己的开源仓库了

三、安装git

当我们有了仓库后,就可以在 Linux 中安装 git

sudo yum install -y git

安装很简单这里就不展示了
可以通过指令验证是否安装成功

在这里插入图片描述

如果出现版本号,就表示安装成功了

安装好 git 后,就可以进行初始化操作了


四、配置git

初始化的目的是将我们 Linux 中的 git 与之前在 gitee 上建立的账号取得联系

首先初始化用户名

git config --global user.name "mai-duya"

在这里插入图片描述

然后初始化邮箱

git config --global user.email "2308711715@qq.com"

在这里插入图片描述

可以输入指令验证前两步是否成功执行

git config --list

在这里插入图片描述

接下来进行比较重要的一步:生成授权证书
输入指令

注意: 需要确保当前家目录中存在 .ssh 目录,如果没有需要自己创建一下

ssh -keygen -t rsa -C "2308711715@qq.com"

在这里插入图片描述

证书生成后,就可以获取 公匙
通过指令查看 公匙

cat ~/.ssh/id_rsa.pub

在这里插入图片描述

接下来将复制的公匙粘贴至仓库的公匙设置中

在这里插入图片描述

目前所有的初始化工作都已经做完了,可以通过指令验证 Linux 是否已经和远程 gitee 取得了联系

ssh git@gitee.com

在这里插入图片描述

git 已经部署完成!

小结

下面来回顾一下需要进行哪些步骤

sudo yum install -y git                              //安装git
git --version                                        //验证git是否安装成功
git config --global user.name "mai-duya"             //初始化用户名
git config --global user.email "2308711715@qq.com"   //初始化邮箱
git config --list                                    //验证用户名与邮箱是否设置成功
ssh -keygen -t rsa -C "2308711715@qq.com"            //生成公匙
cat ~/.ssh/id_rsa.pub                                //查看公匙并复制
ssh git@gitee.com                                    //验证git是否配置成功

如果熟悉的话,很快就能配置完成


五、克隆仓库

现在我们先来把远程仓库中的内容克隆下来

① 点击 克隆/下载
② 选择 HTTPS
③ 选择复制链接
④ 在命令行中输入指令 git clone 加上复制的链接;

在这里插入图片描述

⑤输入码云账户名(注册使用手机号)与密码(码云账号的密码)

⑥显示文件列表,会出现此时当前目录下多了一个远端仓库名的目录

在这里插入图片描述

初始化

输入指令初始化本地 git 存储库

在这里插入图片描述

可以查看当前远程仓库URL的地址

git remote -v
//或者
git remote show origin

在这里插入图片描述


六、代码提交三板斧

6.1 add 新增

接下来看看如何将本地的文件推送至远程仓库

首先要选择添加信息

git add *     //新增所有信息
git add 文件名 //新增指定文件

在这里插入图片描述

6.2 commit 添加

接下来将新增的文件信息添加至本地的 .git 文件中

git commit -m "添加信息"

注意: 添加的信息要认真对待,因为这个东西就像日志一样,是可以溯源的,除非仓库被删除

在这里插入图片描述

6.3 push 推送

现在本地的仓库 .git 已经记录下相关信息了,可以直接推送至远程仓库

git push

在这里插入图片描述

成功完成一次推送后,gitee 上就会记录,形成一个小绿点,一天内每推送八次,绿点就会变绿一层


七、常用指令

 git init   # 初始化一个Git仓库
 
 git add .  # 将所有修改添加到暂存区
 
 git commit -m "comment"  # 将暂存区的修改提交到本地仓库 并填写注释信息
 
 git clone http://123%40qq.com:xxx@git.xxx.com/xxx  # http:#邮箱(或用户名):密码@仓库 下载一个项目和它的整个代码历史
 
 git push origin master # 将本地的 master 分支推送到远程的 master 分支中
 
 git log  # 查看 git 的 commit 信息,每次提交的信息包括注释在内,从最新提交到最久提交
 
 git log --pretty=oneline  # 将commit 信息简化成一行显示
 
 git status  # 查看仓库的状态
 
 git branch [-r]  # 列出所有本地分支,-r 列出所有远程分支
 
 git branch [branch-name]  # 新建一个分支,但依然停留在当前分支
 
 git checkout -b [branch]  # 新建一个分支,并切换到该分支
 
 git checkout [branch-name]  # 切换到指定分支,并更新工作区
 
 git branch -d [branch-name]  # 删除分支
 
 git push origin --delete [branch-name]  # 删除远程分支
 
 git fetch [remote]  # 下载远程仓库的所有变动
 
 git remote add [shortname] [url]  # 增加一个新的远程仓库,并命名
 
 git pull [remote] [branch]  # 取回远程仓库的变化,并与本地分支合并
 
 git checkout [file]  # 恢复暂存区的指定文件到工作区
 
 git reset [file]  # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变

注意事项

  • git rm 删除文件,要记得 commit 和 push,更新仓库状态
  • 每次提交代码,都需要填写邮箱与密码
  • 如果 git不小心出了问题,可以选择重置个人账户,然后重新把远程仓库中的内容 pull 下来即可
  • 提交的文件名要注意,不能出现特殊字符,比如空格,这是无法识别的
  • 不能随便修改 .git 之类的文件,它主动隐藏起来是有道理的,动了很大概率需要重装
  • 常用 git status 查看是否还有未推送的内容,不要越累计越多
  • git 很好用,但要谨慎使用,不然解决问题是件很麻烦的事情

在这里插入图片描述

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

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

相关文章

[金三银四] 操作系统上下文切换系列

图源: https://zhuanlan.zhihu.com/p/540717796 文章目录 2.11 cpu 的上下文切换2.12 协程的上下文切换2.13 线程的上下文切换2.14 进程的上下文切换2.15 中断上下文切换2.16 什么时候会发生进程的上下文切换2.17 什么时候会发生线程的上下文切换2.18 什么时候会发生…

cocos3.0 关于UI组件学习

Sprite 图片:官方文档 Size Mode: 1.Raw:原始大小 2.TRIMMED: 默认,会裁切原始图片透明像素 3.Custom:自定义,只要修改ContentSize,会自动设置 Type 1.Simple:普通,会铺满,一张图。 2.Sliced…

信号处理与分析——matlab记录

一、绘制信号分析频谱 1.代码 % 生成测试信号 Fs 3000; % 采样频率 t 0:1/Fs:1-1/Fs; % 时间向量 x1 1*sin(2*pi*50*t) 1*sin(2*pi*60*t); % 信号1 x2 1*sin(2*pi*150*t)1*sin(2*pi*270*t); % 信号2% 绘制信号图 subplot(2,2,1); plot(t,x1); title(信号x1 1*sin(…

Qt——2D画图

基础画图函数 矩形 painter.drawRect(50,50,200,100); 圆角矩形 painter.drawRoundRect(50,50,200,200,50,50); xRadius和yRadius分别以矩形宽度和高度的一半的百分比指定,并且应该在0.0到100.0的范围内 弧线 painter.drawArc(50,50,200,200, -90*16, 90*16);…

微服务(基础篇-003-Nacos)

目录 Nacos注册中心(1) 认识和安装Nacos(1.1) Nacos快速入门(1.2) 服务注册到Nacos(1.2.1) Nacos服务分级存储模型(1.3) 配置集群(1.3.1) 根据集群修改…

记录echarts各种地图json文件下载地址

今日绘图需要用到echarts的地图json文件,但是github上已经找不到了,后发现伟大的网友提供了地址如下:Index of /examples/data/asset/geohttps://echarts.apache.org/examples/data/asset/geo/

uniapp 打包后缺少maps模块和share模块的解决方案

缺失maps模块 我的应用 | 高德控制台 缺失share模块 QQ互联管理中心 微信开放平台

OC对象 - 关联对象(如何给分类添加成员变量)

文章目录 OC对象 - 关联对象(如何给分类添加成员变量)1. 基本使用1.1 提供的API1.1.1 添加关联对象1.1.2 获得关联对象1.1.3 移除所有关联对象1.1.3 修饰符 1.2 使用方法1.2 Key的常见用法1.2.1 使用的get方法的selecor作为key1.2.2 使用指针的地址作为k…

Springboot实现合并单元格的excel文件导入到数据库(多模块)

最近做项目的时候一直在遇到excel导入导出的问题,本篇博文也是为了记录我这几天的血泪史,并做以记录,希望各位看完之后能有所收获。 以下是我excel文档里面的具体内容: excel文件中的编码信息属于另外一张表,所以以下…

MySQL:表的操作

文章目录 创建表查看表结构修改表删除表 前面对于库的操作有了认识后,下面进行表的操作 创建表 以下图为例 创建表其实和定义结构体有点类似,总的来说就是先定义列名,然后后面跟着是列的数据类型,之后在定义结束后可以带上对应的…

SpringMVC | SpringMVC中的 “文件上传和下载”

目录: 一、文件上传1.1 文件上传“概述”1.2 文件上传“具体配置” :“前端”中配置“文件上传” ( type“file” 满足3个条件 )“后端”中配置“文件上传” ( 配置id为“CommonsMultipartResolver”的bean 配置“文件上传”的“约束条件” 通过“MultipartFile接口”参数接…

综合知识篇21-项目管理考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

02.percona Toolkit工具pt-archiver命令实践

1.命令作用 Percona Toolkit有的32个命令,可以分为7大类 工具类别 工具命令 工具作用 备注 开发类 pt-duplicate-key-checker 列出并删除重复的索引和外键 pt-online-schema-change 在线修改表结构 pt-query-advisor 分析查询语句,并给出建议&#x…

Docker 笔记(七)--打包软件生成镜像

目录 1. 背景2. 参考3. 文档3.1 使用docker container commit命令构建镜像3.1.1 [Docker官方文档-docker container commit](https://docs.docker.com/reference/cli/docker/container/commit/)Description(概述)Options(选项)Exa…

108、3D Gaussian Splatting for Real-Time Radiance Field Rendering

简介 官网 更少训练时间的同时实现最先进的视觉质量,能在1080p分辨率下实现高质量的实时(≥30 fps)新视图合成 NeRF使用隐式场景表示,体素,点云等属于显示建模方法,3DGS就是显示辐射场。它用3D高斯作为灵活高效的表示方法&…

android Fragment 生命周期 方法调用顺序

文章目录 Introlog 及结论代码 Intro 界面设计:点击左侧按钮,会将右侧 青色的RightFragment 替换成 黄色的AnotherRightFragment,而这两个 Fragment 的生命周期方法都会打印日志。 所以只要看执行结果中的日志,就可以知道 Fragme…

2021年XX省赛职业院校技能大赛”高职组 计算机网络应用赛项 网络构建模块竞赛真题

“2021年XX省赛职业院校技能大赛”高职组 计算机网络应用赛项 网络构建模块竞赛真题 目录 一.考试说明 1 二.模块B网络构建 2 (一)任务描述 2 (二)任务清单 9 一.考试说明 本模块比赛时间为…

服务消费微服务

文章目录 1.示意图2.环境搭建1.创建会员消费微服务模块2.删除不必要的两个文件3.检查父子模块的pom.xml文件1.子模块2.父模块 4.pom.xml 添加依赖(刷新)5.application.yml 配置监听端口和服务名6.com/sun/springcloud/MemberConsumerApplication.java 创…

nodejs+vue高校洗浴管理系统python-flask-django-php

高校洗浴管理系统采用数据库是MySQL。网站的搭建与开发采用了先进的nodejs进行编写,使用了express框架。该系统从两个对象:由管理员和学生来对系统进行设计构建。主要功能包括:个人信息修改,对学生管理、浴室信息、浴室预约、预约…

【算法竞赛进阶指南】0x05 排序

0x05排序 排序基本算法 785. 快速排序 - AcWing题库姑且用这个评测。 1.选择、插入、冒泡 这类排序是基于比较的排序算法&#xff0c;时间复杂度为 选择排序 思路比较简单&#xff0c;就是每一次从后面选出最小的数字来与当前这个数字交换 #include<bits/stdc.h> co…