【Linux】Linux工具学习之git

在这里插入图片描述
🔥博客主页 小羊失眠啦.
🎥系列专栏《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.mzph.cn/news/767008.shtml

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

相关文章

详解库和程序运行过程

我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

lvgl 窗口 windows lv_port_win_visual_studio 版本 已解决

不知道的东西,不知道lvgl窗口。一切从未知开始 lv_port_win_visual_studio 主分支 对应的分支 v7版本更新git submodule update --init --recursive同步 lvgl代码随后打开 visualSudio 打开.sln 文件 编译 release模式 允许 一切正常代码部分

perl:获取同花顺数据--业绩预告,送股派息

perldoc LWP::UserAgent 如果没有安装,则安装模块,运行 cpanm LWP::UserAgent 。 编写 get_yjyg_10jqka.pl 如下 #!/usr/bin/perl # perl 获取同花顺数据--业绩预告 use LWP::UserAgent; use Encode qw(decode encode); use POSIX; use Data::Dump…

JavaWeb——Servlet

请求转发是一次转发请求转发URL地址不会发生变化,会保留当前Servlet的资源访问路径共享同一个Request作用域,可用于多页面之间传递数据 getServletContext() 返回一个ServletContext()对象 获取请求头信息 getHeader(String key)根据key获取value 例如 r…

Element UI el-dialog自由拖动功能

1.创建drag .js文件 /*** 拖拽移动* param {elementObjct} bar 鼠标点击控制拖拽的元素* param {elementObjct} target 移动的元素* param {function} callback 移动后的回调*/ export function startDrag(bar, target, callback) {var params {top: 0,left: 0,currentX: …

学习资料记录

http://interview.wzcu.com/Golang/%E4%BB%A3%E7%A0%81%E8%80%83%E9%A2%98.html map底层 https://zhuanlan.zhihu.com/p/616979764 go修养 https://www.yuque.com/aceld/golang/ga6pb1#4b19dba5 https://golang.dbwu.tech/performance/map_pre_alloc/ https://juejin.cn/pos…

C++11新特性:sizeof... 运算符

在 C11 及其后续版本中,引入了一项新的语言特性——sizeof...运算符,这是一个与模板编程紧密相关的特性。 你没看错,sizeof 后面是三个点:sizeof... sizeof...运算符用于计算变参模板(variadic template)…

考研数学基础差,跟宋浩?

宋浩老师的课程我大一的时候听过,是我大一高数的救命恩人! 不过,考研的针对性很强,基础差听宋浩老师的课程不如直接听汤家凤老师的课程,因为汤家凤老师的课程是专门为考研数学设计的,针对性很强。 汤家凤老…

K8S之DaemonSet控制器

DaemonSet控制器 概念、原理解读、应用场景概述工作原理典型的应用场景介绍DaemonSet 与 Deployment 的区别 解读资源清单文件实践案例 概念、原理解读、应用场景 概述 DaemonSet控制器能够确保K8S集群所有的节点都分别运行一个相同的pod副本; 当集群中增加node节…

Django之Celery篇(一)

一、介绍 Celery是由Python开发、简单、灵活、可靠的分布式任务队列,是一个处理异步任务的框架,其本质是生产者消费者模型,生产者发送任务到消息队列,消费者负责处理任务。 Celery侧重于实时操作,但对调度支持也很好,其每天可以处理数以百万计的任务。特点: 简单:熟悉…

监控系统Prometheus--入门

文章目录 Prometheus特点易于管理监控服务的内部运行状态强大的数据模型强大的查询语言PromQL高效可扩展易于集成可视化开放性 Prometheus架构Prometheus 生态圈组件架构理解 Prometheus的安装安装Prometheus Server上传安装包解压安装包修改配置文件 prometheus.yml 安装Pushg…

Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动)

Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动) 链接:https://pan.baidu.com/s/1UfFyZ6y-EFq9jy0T_DTJGA 提取码:ewdi * 1.读取图片 ****************

ThreadLocal的主要特点:

ThreadLocal的主要特点: ThreadLocal是Java中的一个类,它提供了线程局部变量的实现机制。ThreadLocal的实例可以为每个使用该变量的线程提供单独的变量副本,每个线程可以独立地改变自己的副本,而不会影响其他线程的副本。这种机制…

面试问答:能聊一聊MySQL聚簇索引和非聚簇索引吗?

文章目录 🐒个人主页:信计2102罗铠威🏅JavaEE系列专栏📖前言:🎀啥叫聚簇索引和非聚簇索引?🐕如果按特点来说:🐕如果按存储引擎来说: &#x1f415…

【CSS】实现文字描边

通过 -webkit-text-stroke 即可实现文字描边&#xff0c;这个复合属性接收两个参数&#xff0c;分别为描边宽度&#xff0c;以及描边颜色。 需要注意的是&#xff0c;-webkit-text-stroke是一个非标准属性&#xff0c;兼容性会出现问题。 <!DOCTYPE html> <html lang…

安卓Java面试题 196- 200

196. 简述Android Window的更新过程 ?说到Window的更新过程,个人认为其实也就是Window里面View的更新过程了,和创建/删除过程一样,最后照样也是到了WindowManagerGlobal里 面执行具体的操作了,具体来讲的话就是执行updateViewLayout方法了, 这个方法里面做了以下几件事:…

What is case-based reasoning (CBR)? 基于案例的推理

这个方向其实挺小众的&#xff0c;然后其实也很直觉&#xff0c;所以你可能其实一直在用这个技术&#xff0c;只不过你不知道这个技术有一个专业的名字《基于案例的推理》而已。 有人说&#xff0c;不知道名字有啥的&#xff0c;反正大家都会用&#xff0c;不需要学它叫什么名…

数组三(冒泡排序、二分查找)

目录 冒泡排序算法 冒泡排序的基础算法 冒泡排序的优化算法 二分法查找 冒泡排序算法 冒泡排序是最常用的排序算法&#xff0c;在笔试中也非常常见&#xff0c;能手写出冒泡排序算法可以说是 基本的素养。 冒泡排序的基础算法 冒泡排序算法重复地走访过要排序的数列&#…

eUICC鉴权的一般步骤

eUICC&#xff08;嵌入式通用集成电路卡&#xff09;的鉴权过程涉及多个步骤&#xff0c;主要目的是确保eUICC的安全操作和用户的身份验证。以下是eUICC鉴权过程的一般步骤&#xff1a; 1. **初始化**&#xff1a;当用户启动设备或尝试连接到移动网络时&#xff0c;eUICC会开始…

2024-03-22 问AI: 介绍一下深度学习中的 sigmoid函数

文心一言 Sigmoid函数是深度学习中常用的一种激活函数&#xff0c;主要用于将神经元的输出值压缩到0和1之间。这种特性使得sigmoid函数在二分类问题中特别有用&#xff0c;因为输出值可以被解释为属于某个类别的概率。 sigmoid函数的数学表达式为&#xff1a; σ(x) 1 / (1…