【Linux】Linux下git的使用

文章目录

  • 一、什么是git
  • 二、git发展史
  • 三、Gitee仓库的创建
    • 1.新建仓库
    • 2.复制仓库链接
    • 3.在命令行克隆仓库
    • 3.1仓库里的.gitignore是什么
    • 3.2仓库里的git是什么
  • 三、git的基本使用
    • 1.将克隆仓库的新增文件添加到暂存区(本地仓库)
    • 2.将暂存区的文件添加到.git仓库中
    • 3.将.git仓库中的变化文件上传到远程仓库
  • 四、其他git指令
    • 1.Linux上git安装
    • 2.查看仓库日志信息
    • 3.查看暂存区,仓库文件的变更状态
    • 4.对仓库文件重命名/删除
    • 5.从远端仓库拉取最新版文件

一、什么是git

Git是一种分布式版本控制系统,用于跟踪代码的更改,以便多个人可以在同一代码库上协作开发。Git具有分布式的特性,允许多个开发者在本地开发并提交代码,而不需要连接到远程服务器。Git还提供了一些管理代码库的功能,例如分支、合并和回滚。它是开源的,由Linus Torvalds于2005年创建。Git已成为许多开源项目和商业软件开发的主要工具

我们以一个例子来对git进行更好的理解:

我们在大学时需要交很多实验报告,假如有一个人叫张三,他拿着他的实验报告去交给老师,他们老师十分的严格,一看张三做得很不好,就被打退回来重做,张三就在原来的基础上进行修改,然后又去交给老师,老师还是不满意,张三又继续修改,多次之后,老师说:张三啊,你这越改越差,你就把你第一次的实验报告交给我就可以了。张三这时蒙了,他上哪去找他第一份的实验报告。他的室友叫了张三的情况,所以被老师打退回来之后就留了一个心眼,他就把第一份的报告保存了一份,然后再进行修改,这样无论老师要哪一份,他手中都有,所以这个室友就说,你们有什么保存需要版本管理的就发给我,我帮你们保存,需要的时候找我拿即可,然后不断进行推广,用代码进行实现,自己一份,需要的人一份,这就是版本控制器,然后自建网站,此时已经不需要客户端,直接在浏览器上就可以操作,比如gitee和github

二、git发展史

雷纳斯-托瓦兹在将Linux源码开源之后,世界各地的顶级程序员或者黑客等等就向他提供他们编写的代码,所以雷纳斯-托瓦兹就一个人将他们的代码不断的扩充,合并代码,但是这样就十分的费力,然后他准备一家收费的版本控制器公司进行购买,但是顶级程序员觉得一款免费的软件使用的是一款付费的软件,这样就违背了开源的初衷,但是这家公司最后也乐意免费给他们使用,但是后面有一些好奇的程序员就打算破解这个版本控制器的源码,却被这家公司发现了,这家公司的老板就十分生气,就不允许他们使用了,这时雷纳斯-托瓦兹就十分的恼火,最终他经过2-3周的时间自己开发了一个版本控制器-git,并且也进行了开源。后来Git的开发者们一直在不断地改进它,使其更加稳定、高效和易用。

Git的发展史可以说是一个不断完善和发展的过程,它的成功得益于它的开源性、高效性和可扩展性。

三、Gitee仓库的创建

gitee链接:gitee

我们可以先点击上面链接注册,然后就可以进行下面的操作

1.新建仓库

在这里插入图片描述

2.复制仓库链接

在这里插入图片描述

3.在命令行克隆仓库

git clone https://gitee.com/call-me-xiao-hou/linux.git

注意这里我们需要输入我们注册gitee的账号和密码,至此我们的仓库就建立好了:

在这里插入图片描述

3.1仓库里的.gitignore是什么

我们进入仓库之后有如下的文件:

在这里插入图片描述

我们进入.gitignore文件之后发现有如下的内容:

在这里插入图片描述

我们发现里面保存的是文件的后缀,并且在这个文件内部的后缀,对应的文件,不会被上传到gitee上

3.2仓库里的git是什么

这个.git就是我们所说的仓库,本质就是一个目录,里面保存的是本地仓库的内容,push到远端仓库的本质就是将.git仓库里的内容同步到gitee上面(gitee也有类似.git的文件,我们看不到罢了)

三、git的基本使用

我以提交我下面的进度条的实现的代码为例:

在这里插入图片描述

1.将克隆仓库的新增文件添加到暂存区(本地仓库)

git add .

在这里插入图片描述

git add命令可以指定要添加的文件,只需在命令后面加上文件路径或文件名即可。例如,要添加名为"example.txt"的文件,可以使用以下命令:

git add example.txt

也可以指定一个目录来添加该目录下的所有文件,例如:

git add myfolder/

这将添加 “myfolder” 目录中的所有文件

2.将暂存区的文件添加到.git仓库中

git commit -m '提交日志描述'

我们后面必须加上提交日志的信息,没有的话就会报错,这个信息不能够乱写,

3.将.git仓库中的变化文件上传到远程仓库

git push

这个时候我们需要输入gitee的名称和密码

在这里插入图片描述

然后我们在gitee上面进行刷新之后,我们的文件就传递上去了:

在这里插入图片描述

四、其他git指令

1.Linux上git安装

sudo yum -y install git

我们首次使用git会提示你完善邮箱和用户名:

我们按照指令提示一次完善即可。

注意:我们这里完善邮箱和姓名的目的是为了在公司的时候,我们提交的代码就一直存在,如果我们的代码出问题了,那么别人可以通过邮箱联系我们

2.查看仓库日志信息

git log

在这里插入图片描述

3.查看暂存区,仓库文件的变更状态

git status

在这里插入图片描述

我们将上级目录的Makefile文件拷贝到当前目录,然后执行git add .

在这里插入图片描述

我们继续执行git commit 和git push

4.对仓库文件重命名/删除

git mv 需要修改的文件名  修改之后的文件名
git rm -f 文件名

对克隆仓库内文件的重命名使用git mv,删除使用git rm,这个操作只是我们对本地的文件进行的操作,如果我们要对远端的代码进行同步就需要重新执行git commit -m 和git push

5.从远端仓库拉取最新版文件

git pull

当远端仓库发生更改之后,本地再提交代码的时候就会出现冲突的现象,此时我们需要把远端的最新版文件拉取到本地,然后再进行提交

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

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

相关文章

中介者模式——协调多个对象之间的交互

1、简介 1.1、概述 如果在一个系统中对象之间的联系呈现为网状结构,如下图所示: 对象之间存在大量的多对多联系,将导致系统非常复杂,这些对象既会影响别的对象,也会被别的对象所影响,这些对象称为同事对…

深入了解 PostgreSQL 扩展插件

深入了解 PostgreSQL 扩展插件 在 PostgreSQL 数据库中,扩展插件是极具价值的工具,它们为我们提供了丰富多样的功能增强。本篇博客将深入介绍几个常用的 PostgreSQL 扩展插件,包括 pg_stat_statements、uuid、postgis 以及 postgis_raster。…

【JS代码调试技巧】你必须知道的Javascript技巧汇总

注:最后有面试挑战,看看自己掌握了吗 文章目录 使用控制台检查变量值控制台使用 type of 检查变量的类型捕获拼错的变量名和函数名捕获使用赋值运算符而不是相等运算符捕捉函数调用后缺少的左括号和右括号 🌸I could be bounded in a nutshel…

使用FreeMarker导出word文档(支持导出图片)

今天跟大家分享一下工作中比较实用的导出word 带图片的功能。 对于在idea开发中我们需要引入以下依赖: 2.对于eclipse 开发我们需要进入对应的jar包 这个必须放在lib下,同样也需要在当前项目的环境是加入该依赖 需要在MEAT-INF加入 首先制定word 导出…

如何隐藏开源流媒体EasyPlayer.js视频H.265播放器的实时录像按钮?

目前我们TSINGSEE青犀视频所有的视频监控平台,集成的都是EasyPlayer.js版播放器,它属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,包括WebSocket-FLV、HTTP-FLV,HLS(m3u8&#x…

Windows安装JDK和JRE的方法

原文网址:Windows安装JDK和JRE的方法_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Windows安装JDK和JRE(Java8)的方法。 下载 下载入口:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html jdk-8…

计算机网络(2) --- 网络套接字UDP

计算机网络(1) --- 网络介绍_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131967378?spm1001.2014.3001.5501 目录 1.端口号 2.TCP与UDP协议 1.TCP协议介绍 1.TCP协议 2.UDP协议 3.理解 2.网络字节序 发送逻辑…

Ansible之playbook剧本编写

一、playbook的相关知识 1.playbook简介 playbook是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复…

Azure pipeline自动化打包发布

pipeline自动化,提交代码后,就自动打包,打包成功后自动发布 第一步 pipeline提交代码后,自动打包。 1 在Repos,分支里选择要触发的分支,这里选择cn_china,对该分支设置分支策略 2 在生产验证中增加新的策略 3 在分支安…

基于STM32103移植FreeRTOS

目录 一、FreeRTOS协议栈下载 二、准备工程文件与协议代码 三、移植FreeRTOS协议栈 一、FreeRTOS协议栈下载 1、官网下载 FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Internet of Things extensionshttps://www.freertos.or…

“Why Should I Trust You?” Explaining the Predictions of Any Classifier阅读笔记

“Why Should I Trust You?” Explaining the Predictions of Any Classifier阅读笔记 1. 论文贡献2. 背景 [ 1 ] ^{[1]} [1]3. LIME解释单个样本3.1 总体思想3.2 构建可解释的数据表示 [ 1 ] ^{[1]} [1]3.3 可解释性和忠实度的权衡3.4 局部采样3.5 稀疏线性解释3.6 使用SVM进…

无人机航测技术有何特点?主要应用在哪些方面?

无人机航测是航空摄影测量的一种,主要面向低空遥感领域,具有成本低、快速高效、适用范围广等特点。目前,无人机航测主要应用于地形测绘、城市数字化建设、工程建设等方面。 无人机航测技术的特点 1、作业成本低 传统的人工测量技术主要利用…

2023 年牛客多校第六场题解

A Tree 题意:给定 n n n 个点的一棵边带权的树,点有黑白二色( 0 , 1 0,1 0,1 表示),现在可以以 a i a_i ai​ 的价值翻转第 i i i 个点的颜色,一对异色点 ( u , v ) (u,v) (u,v) 的价值为树上路径的最…

视频监控汇聚平台EasyCVR视频分享页面WebRTC流地址播放不了是什么原因?

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多…

AI绘图实战(十二):让AI设计LOGO/图标/标识 | Stable Diffusion成为设计师生产力工具

S:AI能取代设计师么? I :至少在设计行业,目前AI扮演的主要角色还是超级工具,要顶替?除非甲方对设计效果无所畏惧~~ 预先学习: 安装及其问题解决参考:《Windows安装Stable Diffusion …

百度UEditor编辑器如何关闭抓取远程图片功能

百度UEditor编辑器如何关闭抓取远程图片功能 这个坑娘的功能,开始时居然不知道如何触发,以为有个按钮,点击一下触发,翻阅了文档,没有发现,然后再网络上看到原来是复制粘贴非白名单内的图片到编辑框时触发&a…

华为数通HCIA-华为VRP系统基础

什么是VRP? VRP是华为公司数据通信产品的通用操作系统平台,作为华为公司从低端到核心的全系列路由器、以太网交换机、业务网关等产品的软件核心引擎。 VRP提供以下功能: 实现统一的用户界面和管理界面 实现控制平面功能,并定义转发平面接口…

[数据集][目标检测]遛狗不牵绳数据集VOC格式-1980张

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1980 标注数量(xml文件个数):1980 标注类别数:5 标注类别名称:["dog","p…

yo!这里是STL::vector类简单模拟实现

目录 前言 重要接口模拟实现 默认成员函数 1.构造函数 2.析构函数 3.拷贝构造函数 4.赋值运算符重载 迭代器 简单接口 1.size() 2.capacity() 3.swap() 操作符重载 1.操作符[] 扩容接口 1.reserve() 2.resize() 增删查改接口 1.push_back() 2.pop_back() …

大数据Flink(五十五):Flink架构体系

文章目录 Flink架构体系 一、 Flink中的重要角色 二、Flink数据流编程模型 三、Libraries支持