Linux工具学习之【git】

news2025/1/19 8:05:56

✨个人主页: Yohifo
🎉所属专栏: Linux学习之旅
🎊每篇一句: 图片来源
🎃操作环境: CentOS 7.6 阿里云远程服务器

  • Whatever is worth doing is worth doing well.

    • 任何值得去做的事情,都值得把它做好。

    向阳而生


文章目录

  • 📘前言
  • 📘正文
    • 📖账号注册
      • 📃github 与 gitee
    • 📖构建仓库
    • 📖安装git
    • 📖配置git
      • 📃小结
    • 📖克隆仓库
      • 📃初始化git
    • 📖代码提交三板斧
      • 📃add 新增
      • 📃commit 添加
      • 📃push 推送
    • 📖常用指令
  • 📘总结


📘前言

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

git学习


📘正文

为了保证良好的阅读体验,本文中使用的都是新账号,可以跟着我一步一步来操作

📖账号注册

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

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

📃github 与 gitee

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

首先我们需要去到 gitee 的官网注册一个账号
注册账号
账号注册好后,登录就可以了

📖构建仓库

有了账号之后,我们就可以开始创建属于自己的第一个仓库了
构建仓库
创建仓库
仓库创建完成后,还需要进行一个重要步骤:设置开源
因为 gitee 创建仓库后默认是闭源的,而开源又要求仓库内必须有文件,这就是前面创建 README 文件的原因
设置开源
完成如上操作,我们就得到一个属于自己的开源仓库了

📖安装git

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

$ sudo yum install -y git

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

$ git --version

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

📖配置git

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

首先初始化用户名

$ git config --global user.name "zhu-mingyang-668"

初始化用户名
然后初始化邮箱

$ git config --global user.email "3364447827@qq.com"	

初始化邮箱
可以输入指令验证前两步是否成功执行

$ git config --list

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

$ ssh-keygen -t rsa -C "3364447827@qq.com"

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

$ cat ~/.ssh/id_rsa.pub

获取公匙
接下来将复制的公匙粘贴至仓库的公匙设置中
放置公匙
目前所有的初始化工作都已经做完了,可以通过指令验证 Linux 是否已经和远程 gitee 取得了联系

$ ssh git@gitee.com

验证联系
git 已经部署完成!

📃小结

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

1、sudo yum install -y git	//安装git
2、git --version	//验证git是否安装成功
3、git config --global user.name "zhu-mingyang-668"	//初始化用户名
4、git config --global user.email "3364447827@qq.com"	//初始化邮箱
5、git config --list	//验证用户名与邮箱是否设置成功
6、ssh-keygen -t rsa -C "3364447827@qq.com"	//生成公匙
7、cat ~/.ssh/id_rsa.pub	//查看公匙并复制
8、粘贴公匙至gitee仓库
9、ssh git@gitee.com	//验证git是否配置成功

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

📖克隆仓库

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

$ git clone "https://gitee.com/zhu-mingyang-668/gittest.git"

克隆仓库
上面的那串地址在仓库中可以找到
获取地址

📃初始化git

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

$ git init

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

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

查看

📖代码提交三板斧

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

📃add 新增

首先要选择添加信息

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

新增

📃commit 添加

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

$ git commit -m "添加信息"

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

📃push 推送

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

$ git push

推送
成功完成一次推送后,gitee 上就会记录,形成如下图所示一个小绿点,一天内每推送八次,绿点就会变绿一层,因为这个是新号,所以没什么推送记录
记录
每天都坚持写代码并推送是一件很伟大的事
下面是我的大号推送记录
大号
坚持将所有绿点点亮即可召唤神龙
注:因为是开源的,所以代码可以被所有人看到,不能提交无意义的文件

📖常用指令

下面来列举一些比较常用的指令和注意事项

$ tree .git	//查看本地仓库中的提交信息,即所有信息
$ git log	//查看历史提交日志,其中的主要内容就是 commit 时填写的内容
$ git rm 文件	//删除不想要的文件
注:git rm 删除文件后,需要再次 commit 并 push,才能完成一次完整的删除工作
$ git status	//可以查看当前已经添加的信息
$ git pull	//拉取远程仓库内容,相当于手动同步
$ git reset --soft HEAD^	//撤销 commit ,前提是还没有 push

注意事项:

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

📘总结

以上就是关于Linux工具:git 的全部介绍了,git 是一款强大的代码托管工具,它不仅可以供我们随时查看历史提交版本,还能对代码进行远程修改、删除、推送等操作;学好 git 是一件十分重要的事情,毕竟现在很多公司都是在用 git,经典的 github + git 开发神器

如果你觉得本文写的还不错的话,期待留下一个小小的赞👍,你的支持是我分享的最大动力!

如果本文有不足或错误的地方,随时欢迎指出,我会在第一时间改正

星辰大海

相关文章推荐
Linux工具学习之【gcc/g++】(实用的编译器)
Linux工具学习之【vim】(强大的编辑工具)
Linux 权限理解和学习(热榜文章,阅读量4k+)
听说Linux基础指令很多?这里都帮你总结好了

感谢支持

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

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

相关文章

实现高并发秒杀的方式

实现高并发秒杀的方式 引言商品秒杀-超卖解决商品超卖 方式一(改进版加锁) 方式二(AOP版加锁) 方式三(悲观锁一) 方式四(悲观锁二) 方式五(乐观锁) 方式六&a…

【虹科云展厅专题】虹科赋能汽车智能化云展厅——自动驾驶专题

虹科2023年开年福利 聚焦前沿技术,【虹科赋能汽车智能化云展厅】正式上线,本次云展厅围绕“汽车以太网/TSN、汽车总线、智能网联、电子测试与验证、自动驾驶”等核心话题,为您带来如临展会现场般的讲演与介绍,更有技术工程师全程…

【CMake】基本指令

文章目录参考资料一、同一目录下单个源文件add_executable二、同一目录下多个源文件aux_source_directoryset( SRC_LIST ./main.c ./testFunc1.c ./testFunc.c)三、不同目录下多个源文件四、正规一点的组织结构add_subdirectoryset (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_D…

PyQt5_pyecharts显示简易世界地图

pyecharts显示地图,地图数据可以安装pyecharts相关的地图数据包,也可以使用自定义的geojson文件,本文使用自定义geojson文件,自定义geojson文件相比于默认的地图数据能有更大的操作空间和自由度,由于本文不适用默认的地…

接口压测实践-压力测试常见参数解释说明

使用场景​ 对指定接口进行性能测试时,一些常见参数解释说明。 一键并发​ 可以通过下载最新版的 Apipost 客户端实现单接口的高性能一键并发压测,如下图所示 注意:请勿设置太大的并发量或者循环次数,这有可能导致直接将被压服…

php学习笔记-php文件表单上传-day06

php学习笔记-php文件表单上传-day061、php文件上传处理流程2、预定义变量 $_FILES2.1、文件上传的状态代码2.2、上传文件的实现函数3、文件上传的小例子3.1、文件上传表单 form1.php3.2 文件上传表单处理的php页面 uploadFiles.php3.3 运行测试输出3.4 文件上传需要注意的一些p…

JavaWeb登录注册系统/界面(邮箱验证码,数据库连接,详细注释,可作结课作业,可用于学习,可接入其他主系统)

目录 1、前言 2、系统实机演示 3、系统分析与设计 (1)主要软件与工具 (2)系统分析 (3)系统规划 4、系统设计与构建 (1)JavaWeb创建 (2)JavaWeb运行 …

Python归并排序

归并排序 数据科学家每天都在处理算法。 然而,数据科学学科作为一个整体已经发展成为一个不涉及复杂算法实现的角色。 尽管如此,从业者仍然可以从建立对算法的理解和知识库中受益。 在本文中,对排序算法归并排序进行了介绍、解释、评估和实…

Educational Codeforces Round 141 (Rated for Div. 2)(A~D)

A. Make it Beautiful给出一个数组,将它重新排列,使得它成为一个beautiful数组。ugly数组的定义是存在一个数,为前面所有数字的和。思路:升序排序后一前一后构造数组,最后判断一下即可。AC Code:#include &…

Android 深入系统完全讲解(10)

8 如何定位界面,定位代码 这一节我们来说说如何定位界面,这个也是一个神器,今天来讲讲 hierarchyviewer.bat 的用法,AS 也有新的工具,但是我还是喜欢这个工具,于是我们开始讲这个。 我们使用 Genymotion …

Win32公共控件使用,进度条实现Marquee样式

参考:https://learn.microsoft.com/zh-cn/windows/win32/controls/progress-bar-control Comctl的全称是Common Controls,也就是公共控件的意思,属于Windows系统的一部分,提供了一组标准的UI控件,如Button、ListView等等。 Comctl32主要有两个大版本,v5和v6,最明显的两个…

【C++11】新特性入门

目录 一、C11简介 二、列表初始化 三、声明 1. auto 2. decltype 3. nullptr 四、范围for 五、STL中一些变化 1. array容器 2. forward_list容器 3. unordered_map和unordered_set容器 一、C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1)&#xff…

IOzone I/O测试工具使用说明

IOzone磁盘读写工具使用说明0. IOzone简介1. 下载及安装1.1 下载1.2 编译并安装1.3 IOzone 效用测量什么?2. IOzone参数介绍3. 10 个 IOZone 示例3.1 使用默认值运行所有 IOZone 测试3.2 使用 iozone -b 将输出保存到电子表格3.3 使用 iozone -i 仅运行特定类型的测…

BMP图片格式分析(超详细)

系列文章目录 文章目录系列文章目录前言一、BMP格式概览二、实战分析bmp图片数据前言 对学习C感兴趣的可以看看这篇文章哦:C/C实战入门到精通 BMP图片大家见的应该也比较多,它是一种非常基本的图片格式 因为最近对C生成二维码比较感兴趣,用…

【golang】rune

一、背景 来看下2023.1.11的每日一题,是个简单题 2283. 判断一个数的数字计数是否等于数位的值几乎都有思路,先遍历一遍把数存在map中,第二次遍历直接判断就可以。 二、解答 我的解答(很久不写代码了) 开始想着map的…

autoCell:用于scRNA-seq的分析工具

目录简介引言相关工作贡献数据集和对比方法autoCell高斯混合模型图嵌入结果插补去噪后轨迹分析潜在特征捕获细胞病理学发现细胞类型特异性分子网络简介 动机:scRNA-seq使研究人员能够以单细胞分辨率研究基因表达。然而,由dropout引起的噪声可能会妨碍精…

mac快速配置iterm2

文章目录安装 iterm2设置为默认终端安装 oh-my-zsh 设置默认 shell查看 shell 有几种安装 oh-my-zsh设置默认 shell配置主题安装插件安装高亮插件设置快捷键安装 iterm2 自行官网下载 iterm2 设置为默认终端 Mac 默认终端即“终端”,我们可以把好用的 iterm2 设置…

Pytorch复习笔记--导出Onnx模型为动态输入和静态输入

目录 1--动态输入和静态输入 2--Pytorch API 3--完整代码演示 4--模型可视化 5--测试动态导出的Onnx模型 1--动态输入和静态输入 当使用 Pytorch 将网络导出为 Onnx 模型格式时,可以导出为动态输入和静态输入两种方式。动态输入即模型输入数据的部分维度是动态…

Elasticsearch:运用 Go 语言实现 Elasticsearch 搜索 - 8.x

在我之前的文章 “Elasticsearch:Go 客户端简介 - 8.x”,我对 Elasticsearch golang 客户端做了一个简单的介绍。在今天的这篇文章中,我将详细介绍如何使用这个客户端来一步一步地连接到 Elasticsearch,进而创建索引,搜…

流程编辑器bpmnjs的改造1:设计器外观和布局

重新设计页面,弄一个比较规范的设计器外观和布局,bpmnjs.css加入如下的代码:/* Frame CSS */html,body{width:100%;height:100%}.toolsBar{position:fixed;width:100%;height:40px;background-color:#FFF; border-bottom:1px solid #E1E1E1;d…