Linux:git的了解和基础使用(保姆级教程)

文章目录

  • 引言
  • 一、git是什么
    • 1.1 版本控制器git
    • 1.2 git的历史
  • 二、git的使用
    • 2.1 安装git
    • 2.2 创建gitee账号
    • 2.3 git三板斧
      • 2.3.1 add
      • 2.3.2 commit
      • 2.3.3 push
  • 三. git的补充
  • 总结


引言

git是一款软件,它用于帮助我们来管理代码以及文件,掌握并使用git可以很有效的帮助我们来进行代码的备份和与他人协作上的高效


一、git是什么

Git是一个开源的分布式版本控制系统

1.1 版本控制器git

版本控制是一种在软件开发过程中用于管理对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前版本的软件工程技术。

我们写了代码之后,需要面对修改和查看修改之前的代码段的需求,以及需要合作写代码的需求,git的出现便能解决这些需求。

1.2 git的历史

  • 背景:在Git诞生之前,Linux内核的开发团队主要使用BitKeeper作为版本控制系统。然而,由于BitKeeper的商业策略变化,Linux内核社区失去了免费使用该工具的权利。
  • 诞生:为了应对这一挑战,Linux的创始人Linus Torvalds决定亲自开发一款新的版本控制系统。2005年4月,Git应运而生,最初是为了管理Linux内核的源代码而设计的。
  • GitHub的创立:GitHub是一个基于Git的版本控制系统和代码托管平台,它允许开发者在线托管他们的Git存储库,并与其他开发者进行协作。GitHub由Chris Wanstrath、PJ Hyett和Tom Preston-Werner等开发者于2007年开始开发,并于2008年正式上线。

二、git的使用

2.1 安装git

安装前先查看自己系统下是否已经安装git

git --version

输入上面命令行后已经安装过git后会显示如下:


ubuntu下的安装命令

sudo apt install -y git

2.2 创建gitee账号

Gitee(码云)是一个基于Git的代码托管和研发协作平台
点击进入gitee

注册完点击右上角加号,新建仓库
在这里插入图片描述
进入选择并创建
在这里插入图片描述
点击克隆/下载
在这里插入图片描述
复制路径并进入到xshell
在这里插入图片描述
在自己想管理的路径下面输入以下命令行

git clone 你拷贝的路径

在这里插入图片描述
此时这个路径下会建立一个和仓库同名的文件夹,代表着把远端的仓库拉取下来了
在这里插入图片描述
我们进入这个文件夹就可以在里面创建文件或者文件夹之后可以对其进行管理操作了

2.3 git三板斧

所谓三板斧就是使用git的三个常用步骤,并且我们需要知道的是,我们每次的提交的内容分为新增和修改,修改就是自己在已经提交过的一份文件里面做的增删改操作,被操作的代码行会被提交上去,意思是只会记录变化的部分

2.3.1 add

在这里我们新建了个名为test.c的文件,此时它并没有被我们本地的仓库管理起来!!!
此时输入命令行

git add test.c

在这里插入图片描述
此时这个名为test.c的文件,才算被本地仓库管理起来,它进入到了仓库里面的暂存区,这么设计的原因是可以集中一次提交很多文件到git仓库,还可以后悔删除提交(仅作了解)。
在这里插入图片描述

2.3.2 commit

命令行

git commit -m “你需要输入的变化日志

git commit 后面跟的 -m " " 被称为提交日志信息,这个是必须要跟着的!!!
我们第一次执行git commit会遇到如下报错:
在这里插入图片描述
我们只需要执行这两个命令行就好了

git config --global user.email “you@example.com”
git config --global user.email “Your Name”

后面的字符串分别为自己的邮箱地址和名字!!
在这里插入图片描述

2.3.3 push

命令行

git push

我们git push完会让输入注册gitee的手机号和密码,输入完就提交完成,此时在远程也会有一份类似代码拷贝的文件存在。
在这里插入图片描述

三. git的补充

命令行

git log

可以查看之前提交的记录
在这里插入图片描述

命令行

git status

git status是一个 Git 命令,用于显示工作目录和暂存区的状态。当你执行这个命令时,Git 会告诉你哪些文件已经被修改、哪些文件还未被提交到仓库中,以及是否有新的提交在远程仓库中而你的本地仓库还没有更新。

在这里插入图片描述
由于.gitignore的文件的存在,我们通常只能提交后缀为.c/.h的源文件
因为它会在add过程中屏蔽掉带有如下后缀的文件,同时也可以自己做修改
在这里插入图片描述


总结

本文主要介绍了linux环境下的git基础操作

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

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

相关文章

探索LINQ在C#中的应用:从基本查询到数据联接

LINQ(语言集成查询)是微软为.NET框架开发的一种强大功能,于2007年作为C# 3.0和Visual Basic .NET 9.0的一部分引入。LINQ的诞生旨在提供一种一致且直观的方式来查询和操作数据,无论数据来源是内存中的集合、数据库还是XML文档。 …

鸿蒙UI开发——实现环形文字

1、背 景 有朋友提问:您好关于鸿蒙UI想咨询一个问题 如果我想实现展示环形文字是需要通过在Text组件中设置transition来实现么,还是需要通过其他方式来实现。 针对这位粉丝朋友的提问,我们做一下解答。 2、实现环形文字效果 ❓ 什么是环形…

搭建轻量级文件服务器Dufs

前言 Dufs是什么? 答:是一款轻量级文件管理服务器,类似于FTP服务器但又比FTP更好用易于管理。 Dufs有什么特性? 答: ‌静态文件服务…

【软考】系统分析师第二版 新增章节 第20章微服务系统分析与设计

微服务系统是一类基于微服务架构风格的分布式系统,它将应用程序拆分成多个独立的小型服务,每个服务都运行在独立的进程中,并采用轻量级通信协议进行通信。这些服务可以由不同的团队开发、不同的编程语言编写,并且可以按需部署。微…

基于SSM的校园美食交流系统【附源码】

基于SSM的校园美食交流系统 效果如下: 管理员主页面 用户主页面 美食信息页面 美食资讯页面 修改密码页面 论坛中心页面 研究背景 随着高校信息化建设的不断推进,校园生活日益丰富多样,学生对于美食的需求与探索也愈发旺盛。然而&#xff…

PICO+Unity MR空间网格

官方链接:空间网格 | PICO 开发者平台 注意:该功能只能打包成APK在PICO 4 Ultra上真机运行,无法通过串流或PICO developer center在PC上运行。使用之前要开启视频透视。 在 Inspector 窗口中的 PXR_Manager (Script) 面板上,勾选…

斗破QT编程入门系列之前言:认识Qt:获取与安装(四星斗师)

本系列是在学习完C之后,然后通过Qt构建界面来,赋予枯燥的代码新的样貌,这样我们才能开发出更人性化的程序,同时会进一步提高初学者对编程的兴趣,大家加油,斗破Qt来了。 斗破Qt目录: 斗破Qt编程…

PyTorch核心概念:从梯度、计算图到连续性的全面解析(三)

文章目录 Contiguous vs Non-Contiguous TensorTensor and ViewStrides非连续数据结构:Transpose( )在 PyTorch 中检查Contiguous and Non-Contiguous将不连续张量(或视图)转换为连续张量view() 和 reshape() 之间的区别总结 参考文献 Contig…

家庭宽带如何开启公网ipv4和ipv6

好久没更新了,最近在家里折腾nas。一来自己有下电影的习惯,二来手机的icloud容量也不够了。所以买了群晖的423,但是nas要想用的畅快,外网访问必不可少。所以我之前研究了下,打家里的电信快带打通了外网。 一般nas的服务商基本都会…

【Linux】Ansible集中化运维工具(详解)安装、常用模块、playbook脚本

文章目录 一、Ansible安装及远程控制1、关闭防火墙和SELinux2、安装ansible3、配置SSH无密码登录1、在管理机上生成一对密钥2、将公钥下发到远程主机3、保管密钥 4、主机目录 二、常用模块1、setup模块2、copy模块3、file模块4、shell模块5、script模块6、ping模块7、group模块…

基于 RNN 的语言模型

基于 RNN 的语言模型 循环神经网络(Recurrent Neural Network, RNN)是一类网络连接中包含环路的 神经网络的总称。 给定一个序列,RNN 的环路用于将历史状态叠加到当前状态上。沿着时间维度,历史状态被循环累积,并作为…

第二十九篇——线性代数:“矩阵”到底怎么用?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 数学中的线性代数,再生活中的落地和应用,是我这个…

nodejs:下载,安装,系统环境配置,更换镜像

​​​​下载 地址:https://nodejs.org/zh-cn/download/prebuilt-installer 安装包 开始安装 安装完成 给文件夹添加权限 创建两个文件夹 node_cache node_global 更新环境变量 修改环境变量,新的全局模块路径,这样在任何位置运行命令时都…

AMD显卡低负载看视频掉驱动(chrome edge浏览器) 高负载玩游戏却稳定 解决方法——关闭MPO

2024.11.9更新 开关mpo ulps 感觉有用但是还是掉驱动,现在确定是window顶驱动问题 按网上的改注册表和组策略会让自己也打不上驱动 目前感觉最好的办法就是,重置此电脑,然后你就摆着电脑挂个十分钟半小时别动,一开始他是不显示…

案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索

河北省某检察院是当地重要的法律监督机构,肩负着维护法律尊严和社会公平正义的重要职责。该机构依法独立行使检察权,负责对犯罪行为提起公诉,并监督整个诉讼过程,同时积极参与社会治理,保护公民权益,推动法…

【论文阅读】火星语义分割的半监督学习

【论文阅读】火星语义分割的半监督学习 文章目录 【论文阅读】火星语义分割的半监督学习一、介绍二、联系工作3.1Deep Learning for Mars3.2 数据集可以分为三类:3.3 半监督学习 三、提出的火星图像分割数据集四、方法四、实验 S 5Mars: Semi-Supervised Learning …

蓝桥杯 懒洋洋字符串--字符串读入

题目 代码 #include <iostream>using namespace std;int main(){int n;cin>>n;char s[210][4];int ans0;for(int i0;i<n;i){scanf("%s",s[i]);}for(int i0;i<n;i){char as[i][0];char bs[i][1];char cs[i][2];// cout<<a<< <<b…

免费送源码:Java+ssm+MySQL 在线购票影城 计算机毕业设计原创定制

摘要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Java技术建设在线购票影城。 本设计…

Qt 软键盘设计

最近有客户用的电脑是触屏的&#xff0c;所以不用键盘与鼠标&#xff0c;系统的键盘不好看&#xff0c;所以自己设计一个键盘显示&#xff0c;先看下效果图&#xff1b; 设计思路&#xff0c;构建一个软键盘设计界面并重写输入框&#xff0c;然后做界面提升,直接上代码 class …

94.【C语言】数据结构之双向链表的初始化,尾插,打印和尾删

目录 1.双向链表 2.结构体的定义 3.示意图 3.代码示例 1.双向链表的尾插 示意图 代码 main.c List.h List.c 详细分析代码的执行过程 双向链表的初始化 2.双向链表的打印 代码 3.双向链表的尾删 1.双向链表 以一种典型的双向链表为例:带头双向循环链表(带头:带…