深入了解Linux —— git三板斧

news2025/3/19 5:37:28

版本控制器git

为了我们方便管理不同版本的文件,就有了版本控制器;

所谓的版本控制器,就是能够了解到一个文件的历史记录(修改记录);简单来说就是记录每一次的改动和版本迭代的一个管理系统,同时也方了多人进行协作。

当前应用最广泛的版本控制器就是gitgit可以控制电脑上所有格式的文件。

之前我们在windows下使用git来管理自己的本地文件,并上传至gitee

git简史

​ 同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。绝大多数的Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到2002年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux内核社区免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 LinusTorvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。他们对新的系统制订了若干目标:

  • 速度。
  • 简单的设计。
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)。
  • 完全分布式。
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)。

自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。

那我们在linux下该如何使用git来管理文件呢?

git三板斧

在使用之前,当然要先进行安装git

yum install git

ubanto下使用

sudo apt-get update

在进行管理之前,我们要登录gitee官网注册属于自己的账号https://gitee.com

gitee创建仓库并克隆到本地

在注册完成账号之后,我们的账号下是没有任何仓库的;我们要先进行创建仓库,并且将仓库克隆到自己的本地来管理自己的文件。

创建仓库:

在注册完成账号后,来到个人主页,点击右上角头像旁边的+,点击创建仓库,进入创建仓库的界面。

在这里插入图片描述

进入到以下界面

在这里插入图片描述

这里填写一下仓库信息

仓库名称:为自己的仓库起个名字

仓库介绍:简单介绍自己的仓库

初始化仓库:初始化语言,模版(gitignore),开源许可证

设置模版:选择readme文件(可以编辑该文件,帮助读者快速了解自己的仓库内容。

分支模型:这里选择单分支模型(根据自己需求选择)。

创建完成就进入了以下界面;(可以看到readme文件,我们克隆到本地后可以进行修改)。

在这里插入图片描述

创建完成之后,我们将这个仓库,克隆到本地

  1. 点击上图中的克隆/下载,获取当前仓库地址

在这里插入图片描述

点击之后,有上述提示,我们只需要在本地执行即可。

git clone https://gitee.com/lxb0720/test_linux.git

在这里插入图片描述

如上图所示,就成功将仓库克隆到本地了,我们现在就可以看到仓库里的内容了

在这里插入图片描述

1. git add

git add,我们在windows下,直接点击,选择要添加的文件即可;

但是在linux下,我们不能像windows那样选择要添加的文件,所以我们要告知我们要上传的文件就行上传。

在这里插入图片描述

2. git commit

当我们git add之后,文件只是上传到了暂存区,并没有被管理起来;

我们要执行git commit将暂存区的文件上传到本地仓库,让文件被管理起来。

git commit -m "描述信息"

这里推荐加上-m选项,并且加上描述信息,就像写日志那样。

在这里插入图片描述

3. git push

通过git commit,我们已经将文件在本地仓库管理起来;但是,这些文件还并没有同步到远端;我们在gitee上还是无法看到这些文件。

git push就是件本地仓库内容同步到远端。

在这里插入图片描述

在执行git push之后,需要我们输入gitee的用户名和密码才能上传成功。

4. 首次使用git

如果第一次使用git上传文件,需要我们配置运行用户名和邮箱;在我们点击克隆/下载时,就有提示

在这里插入图片描述

直接指向下面指令即可。

git config --global user.name '用户名' 
git config --global user.email '邮箱'

git其他操作

git status

对于git status,这个操作的作用就是查看当前的状态;

说简单一点就是看现在进行了哪一步操作。

在这里插入图片描述

这里再看git commit后的状态

在这里插入图片描述

这里执行git push后,再次来查看

在这里插入图片描述

git log

我们使用git来管理我们的文件,那如果我们想要查看我们提交上传的记录,就要用到git log

在这里插入图片描述

这里就可以看到我们的提交用户和日期以及提交的日志信息

git pull

在了解这个指令之前,我们先来看git是如何管理并同步到远端的。

在这里插入图片描述

看到这里可能有疑惑,本地文件夹和本地仓库不一样吗?

肯定是不一样的,在我们将远端仓库克隆到本地文件夹时,我们该目录下是存在一个.git隐藏文件的

在这里插入图片描述

我们看到还存在一个gitigonre文件,那这个文件是干什么的呢?

这里就直接说了

.gitignore文件是在我们上传文件时,需要忽视的文件名后缀。

什么意思呢?

在这里插入图片描述

这里.gitinore文件中存在多种文件名的后缀,这里就看.o

我们在编译时可能会产生临时文件.o,但是我们不希望将这个临时文件上传,这时gitignore文件中有.o,在上传的时候就会忽略.o,不会将其上传。

到这里git简单操作就结束了,后期深入学习git之后再来详细探讨git

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws

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

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

相关文章

【软件系统架构】单体架构

一、引言 在软件开发的漫长历程中,架构的选择一直是至关重要的决策。单体架构作为一种经典的架构模式,曾经在许多项目中发挥着不可替代的作用。虽然如今微服务等架构逐渐流行,但理解单体架构对于深入掌握软件架构体系仍然有着重要意义。 二、…

【求助】【建议放弃】【谷粒商城版】Kubernetes

本文作者: slience_me 文章目录 Kubernetes【谷粒商城版】【建议放弃】1. docker安装2. kubernetes安装前3. kubeadm,kubelet,kubectl3.1 简介kubeadmkubeletkubectl常用指令 3.2 安装3.3 kubeadm初始化3.4 加入从节点(工作节点)3.5 安装Pod网络插件(CNI…

C# Unity 唐老狮 No.10 模拟面试题

本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要: Unity课程 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho C# 1. 内存中,堆和…

第十五届蓝桥杯2024JavaB组省赛试题A:报数游戏

简单的找规律题目。题目给得数列,第奇数项是20的倍数,第偶数项时24的倍数。题目要求第n 202420242024 项是多少。这一项是偶数,所以答案一定是24的倍数,并且偶数项的个数和奇数项的个数各占一半,所以最终的答案ans( n…

Matlab 汽车二自由度转弯模型

1、内容简介 Matlab 187-汽车二自由度转弯模型 可以交流、咨询、答疑 2、内容说明 略 摘 要 本文前一部分提出了侧偏角和横摆角速度作为参数。描述了车辆运动的运动状态,其中文中使用的参考模型是二自由度汽车模型。汽车速度被认为是建立基于H.B.Pacejka的轮胎模…

学c++的人可以几天速通python?

学了俩天啊,文章写纸上了 还是蛮有趣的

Rocky Linux 9.x 基于 kubeadm部署k8s 1.32

一、部署说明 1、主机操作系统说明 序号操作系统及版本备注1Rocky Linux release 9下载链接:https://mirrors.163.com/rocky/9.5/isos/x86_64/Rocky-9.5-x86_64-minimal.iso 2、主机硬件配置说明 作用IP地址操作系统配置关键组件k8s-master01192.168.234.51Rocky…

解决git init 命令不显示.git

首先在自己的项目代码右击 打开git bash here 输入git init 之后自己的项目没有.git文件,有可能是因为.git文件隐藏了,下面是解决办法

利用AI让数据可视化

1. 从问卷星上下载一份答题结果。 序号用户ID提交答卷时间所用时间来源来源详情来自IP总分1、《中华人民共和国电子商务法》正式实施的时间是()。2、()可以判断企业在行业中所处的地位。3、()是指店铺内有…

解决qt中自定插件加载失败,不显示问题。

这个问题断断续续搞了一天多,主要是版本不匹配问题。 我们先来看下 Based on Qt 6.6.0 → 说明 Qt Creator 本身 是基于 Qt 6.6.0 框架构建的。MSVC 2019, 64-bit → 说明 Qt Creator 是使用 Microsoft Visual C 2019 编译器(64 位) 编译的。…

智慧社区3.0

项目介绍: 此项目旨在推动成都市探索**超大城市社区发展治理新路**,由三个实验室负责三大内容 1、**研发社区阵地空间管理模块**:AI算法实现态势感知(如通过社区图片和视频、文本,对环境 空间质量、绿视率、安全感分…

Springboot+Vue登录、注册功能(含验证码)(后端!)

我们首先写一个接口,叫login!然后对传入一个user,因为我们前端肯定是要传过来一个user,然后我们后端返回一个user,因为我们要根据这个去校验!我们还引入了一个hutool的一个东西,在pom文件里面引…

搞定python之八----操作mysql

本文是《搞定python》系列文章的第八篇,讲述利用python操作mysql数据库。相对来说,本文的综合性比较强,包含了操作数据库、异常处理、元组等内容,需要结合前面的知识点。 1、安装mysql模块 PyMySql模块相当于数据库的驱动&#…

LVGL 中设置 UI 层局部透明,显示下方视频层

LVGL层次 LVGL自上而下分别是layer_sys > layer_top > lv_sreen_active > layer_bottom 即 系统层、顶层、活动屏幕、底层 原理 如果将UI设置为局部透明,显示下方的视频层,不仅仅需要将当前活动屏幕的背景设置为透明,还需要将底层…

21.多态

一、多态概念 多种形态。 静态多态:编译时多态。(函数重载) 动态多态:运行时多态。(继承关系下,调用父类指针或引用,对于不同的对象有不同的行为) 二、多态的定义及实现 1&#xff…

【蓝桥杯】第十三届C++B组省赛

⭐️个人主页:小羊 ⭐️所属专栏:蓝桥杯 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 试题A:九进制转十进制试题B:顺子日期试题C:刷题统计试题D:修剪灌木试题E&#xf…

C# PaddleOCR字符识别

1 安装Nuget 2 C# using System; using OpenCvSharp; using Sdcb.PaddleOCR; using Sdcb.PaddleOCR.Models.Local; using Sdcb.PaddleOCR.Models; using Sdcb.PaddleInference;namespace ConsoleApp1 {public class MichaelOCR{string imagePath "D:\\BUFFER\\VS\\Text\…

多环境开发-Profiles

在实际的项目开发中,我们通常会涉及多个环境,如开发环境(dev)、测试环境(test)和生产环境(pro)。在不同的环境下,程序的配置信息会有所不同,例如连接的数据库…

《TCP/IP网络编程》学习笔记 | Chapter 18:多线程服务器端的实现

《TCP/IP网络编程》学习笔记 | Chapter 18:多线程服务器端的实现 《TCP/IP网络编程》学习笔记 | Chapter 18:多线程服务器端的实现线程的概念引入线程的背景线程与进程的区别 线程创建与运行pthread_createpthread_join可在临界区内调用的函数工作&#…

MambaVision:一种Mamba-Transformer混合视觉骨干网络

摘要 我们提出了一种新型混合Mamba-Transformer主干网络,称为MambaVision,该网络专为视觉应用而设计。我们的核心贡献包括重新设计Mamba公式,以增强其对视觉特征的高效建模能力。此外,我们还对将视觉Transformer(ViT&…