【Linux】版本控制器Git

news2025/2/26 9:44:19

​🌠 作者:@阿亮joy.
🎆专栏:《学会Linux》
🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根
在这里插入图片描述

目录

    • 👉Git概述👈
    • 👉Git操作👈
      • 新建仓库
      • 克隆远程仓库到本地
      • 安装 git
      • 配置 .gitignore
      • 将新增文件添加到暂存区
      • 将新增文件添加到本地仓库
      • 将新增文件推送到远端仓库
      • 查看日志信息
      • 查看仓库状态
      • 重命名已提交的文件
      • 拉取远端仓库
      • 删除远端仓库的文件
    • 👉总结👈

👉Git概述👈

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git 易于学习,占地面积小,性能极快。它具有廉价的本地库(俗称就是磁盘中的文件夹),方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。

何为版本控制

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

举个通俗易懂的例子,就好比写毕业论文的时候,不可能写一遍就能得到导师的肯定,要多次修改。为了保留一开始的毕业论文,我们通常会拷贝原来的毕业论文,生成一个副本,对毕业论文的副本进行修改。最后,我们也可以通过对比原本和副本之间的优劣。下图就是简单的版本控制。

在这里插入图片描述

Git 的发展史

在这里插入图片描述

👉Git操作👈

新建仓库

登录自己的 gitee 账号,点击右上方的 “+” 号新建仓库。新建仓库的语言和.gitignore根据自己学习的语言来选择,其余选项可以和我选择的一样,最后点击创建。

在这里插入图片描述

克隆远程仓库到本地

创建完成后,复制克隆 / 下载里的 HTTPS 链接,然后在自己想要在的路径下 Linux 里输入命令git clone HTTPS链接,然后输入自己的 gitee 账号和密码即可完成克隆。

在这里插入图片描述

在这里插入图片描述
克隆完成后,我们可以进入刚克隆好的仓库,输入ll -a指令来查看仓库里的内容。(注:下图有每个文件的说明)

在这里插入图片描述

在这里插入图片描述

安装 git

克隆完成后,我们需要输入sudo yum install -y git指令来安装 git。当我们首次使用新安装的 git 的时候,git 会提示我们进行用户名和邮箱的配置。

git config --global user.email "邮箱地址"	#配置邮箱
git config --global user.email "用户名"	配置用户名

配置 .gitignore

文件 .gitignore 里面内容是一些文件或者是文件名,只要在 .gitignore 里出现的,相应的文件都不会被提交到远端仓库。

以下是我配置好的 .gitignore 文件,大家可以参考一下。

# Build and Release Folders
bin-debug/
bin-release/
[Oo]bj/
[Bb]in/

# Other files and folders
.settings/

# Executables
*.swf
*.air
*.ipa
*.apk

#过滤掉不想要文件和文件夹
*.sln
*.vcxproj
*.filters
*.user
*.suo
*.db
*.ipch
Debug/
.vs
Release/

#ignore makefile/Makefile
makefile
Makefile

# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

注:# 号后面的内容为注释信息。大家可以自行测试 在 .gitignore 里出现的文件是否会被推送到远程仓库。

将新增文件添加到暂存区

git add . 或者 git add --all #将当前目录添加到暂存区
git add 文件名 #将指定文件添加到暂存区

将新增文件添加到本地仓库

git commit -m '日志信息' #将新增的内容添加到本地仓库.git

注:日志信息不能没有,也不能乱写。

将新增文件推送到远端仓库

git push #将新增内容推送到远端仓库

在这里插入图片描述

在这里插入图片描述

查看日志信息

git log #查看日志信息

在这里插入图片描述
为什么日志信息不能没有,也不能乱写呢?因为你将来面试是要将你的 gitee 贴在简历上的,如果面试官将你的远端仓库克隆下来,然后在看你的日志信息。这时候,面试官会想些什么呢?自己慢慢体会啊!

查看仓库状态

git status #查看仓库状态

在这里插入图片描述

重命名已提交的文件

git mv 原来的文件名 想要的文件名 #将原来的文件重命名

这个命令,我也不做示范了。大家有需要的时候,可以使用该命令。

拉取远端仓库

git pull #拉取远端仓库,将本地仓库的信息和远端仓库的信息保持一致

为了测试这个功能,我们首先修改一下我们远端仓库文件的内容。

在这里插入图片描述

然后再创建一个新文件,然后git add 新文件git commit -m '日志信息'git push,做完这些步骤后,会出现下图类似的提示。

在这里插入图片描述
输入git bash命令后,会出现很多提示信息。这些提示信息,我们都不需要管,输入:q!命令强行退出就行了。

以上步骤完成后,我们输入git status命令查看一下仓库的状态。

在这里插入图片描述

输入git push命令后,我们可以看到刚才新增的文件也被推送到远程仓库了。也能够看到,我们在远程仓库上做的修改也同步到本地仓库了。

在这里插入图片描述
在这里插入图片描述

删除远端仓库的文件

git rm 文件名 #删除远端仓库的文件

在这里插入图片描述
在这里插入图片描述

可以看到,我们刚刚的测试文件已经被移除出远端仓库和本地仓库1了。

在这里插入图片描述

最后,我们来看看我们的日志信息。

在这里插入图片描述
注:git push 的时候,需要输入用户名和密码。其实是可以配置成免密码的,但是不推荐。

👉总结👈

本篇博客主要讲解了什么是 Git 以及 Git 的基本操作。那么以上就是本篇博客的全部内容了,如果大家觉得有收获的话,可以点个三连支持一下!谢谢大家!💖💝❣️

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

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

相关文章

Pytorch~单卡改多卡

搬来了这个,这是尝试单卡改多卡加速的过程中出现的bug记录:一是继承DistributedSampler的漏洞百出,二是master进程无法正常结束,这里详细的阐述了出错的细节以及给出了修改的方法。 先说明一下背景,目前正在魔改以下这篇论文的代…

JavaScript 中事件循环(eventloop)、垃圾回收机制、闭包、递归函数的理解及示例

事件循环(eventloop) 概念 js 是单线程,为防止阻塞代码,把同步代码交给 js 引擎执行 异步代码交给宿主环境, 同步代码放入执行栈中 异步代码等待时机送入任务队列中, 执行栈执行完毕 会去任务队列看是否有异步任务 有就送到执行…

Postman核心功能解析-参数化和测试报告

参数化处理 参数化:针对于某一个接口,有大量的的测试数据需要批量验证,一个一个的更改请求参数太耗时耗力,使用参数化批量处理数据会比较高效,常规通过文档参数化实现。 创建文件 格式CSV 文件内第一行信息 需要和参数…

谈谈转行数据分析以及工作的心得

由于两个月前写了一篇文章叫《自己找数据分析师时犯的错误》,然后这期间就一直有人问我找到工作了吗?面试的时候,面试官都是问你的什么呢?你从事数据分析工作之后主要干什么呢?所以想在这里为大家分别解答下。 首先回…

【Linux】编译器gcc / g++的使用

​🌠 作者:阿亮joy. 🎆专栏:《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉gcc / g的…

快速玩转ChatGPT全攻略

本文内容: 准备工作。 注册接嘛平台。 注册OpenAI账号。 开始畅聊。 一.准备工作: Proxy,美国,日本,韩国,新加坡,印度,不能用香港。 Chrome浏览器。 二、注册接嘛平台&#x…

在ARM微控制器上部署MATLAB/Simulink仿真模型

在ARM微控制器上部署MATLAB/Simulink仿真模型 苏勇,suyong_yq126.com,2022年12月 文章目录在ARM微控制器上部署MATLAB/Simulink仿真模型IntroductionOverviewMATLAB、Simulink、StateFlow、Real-Time Workshop之间的关系MATLAB Coder、Simulink Coder、…

最新版Android原生集成RN

前言 现在不少应用都是采用了混合开发模式,不论是原生加RN,或是原生加Flutter,或是原生加H5。原生实现主业务线,其他部分可以借助跨平台方案开发,提高开发效率,或者实现热更新,调高业务迭代效率。 下面简单介绍一下A…

如何调整参数来更好地使用频谱分析仪

前言 使用频谱分析仪,最简单最直观的目的就是寻找并观测范围内的频谱信号,乃至将其保存下来做更进一步的数字处理或分析。因此在除了最基本的中心频率与扫宽设置外,合理使用VBW,RBW等参数设置才能获取更为真实准确的信号。 图一 合理调整参数…

Diffusion Model合集 part3

扩散模型原理介绍3八,Diffusion Probabilistic Model的算法代码而我们可以有多种建模目标:Lt−1Eq[12σt2∣∣μt∼(xt,x0)−μθ(xt,t)∣∣2]CL_{t-1}\mathbb{E}_{q}\left[\frac{1}{2\sigma_{t}^{2}}||\overset{\sim}{\mu_{t}}(\mathbf{x}_{t},\mathbf{…

系统调用(Linux)

目录 1.内核态和用户态: 1.1CPU的两种状态: 1.2CPU 指令集权限: 1.3用户态与内核态的空间: 1.4用户态与内核态的切换: 2.系统调用: 2.1linux框架图: 2.2系统调用和API: 2.3系…

The release Method

The release Method The role of the release method is the reverse of open. Sometimes youll find that the method implementation is called device_close instead of device_release. Either way, the device method should perform the following tasks: 释放方法的作用…

跟我学 UML 系统建模

UML 系统建模 1 概述 1.1 课程概述 汇集 UML 及其相关的一些话题回顾 UML 相关的符号与概念以电商订单相关业务为例,借助 UML 完成系统建模将 UML 变成提升建模效率,表达架构思想的工具 1.2 什么是 UML ​ Unified Modeling Language 统一建模语言&a…

Leetcode-1753-移除石子的最大得分

1、堆 我们可以维护一个大顶堆,其中储存了三个石子堆中石子的个数。为了确保我们的分数尽可能大,我们每次都需要从最大的两个堆中取出石子。因此我们不断循环,每次都从当前最大的堆中取出石子。值得注意的是,为了确保能够发现游戏…

数据管理篇之存储和成本管理

第14章 存储和成本管理 目标:有效的降低存储资源的消耗,节省存储成本。 1.数据压缩 问题 在分布式文件系统中,为了提高数据的可用性与性能 ,通常会将数据存储3份,这就意味着存储 1TB 的逻辑数据, 实际上…

iOS自动化真机测试验证环境过程中常见问题解析

本文节选自霍格沃兹测试学院内部教材 本章节主要讲解 iOS 自动化真机配置以及在 iOS 真机执行自动化时常见问题与解决方法。 真机使用的Capability 与模拟器不同,真机测试需要如下的 Capability 方式一:设置 App 路径,启动 App(自…

SpringBoot项目开启远程调试

1、服务端设置 cat start.sh #!/bin/bash echo "i will start the program!" java -jar -Xdebug -Xrunjdwp:transportdt_socket,servery,address9999 xxxxx-SNAPSHOT.jar --server.port10991 echo "start success" 2、开发工具设置 3、然后&#…

计算机网络~计算机网络体系结构

一、计算机网络的概念和功能 1. 计算机网络 是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统计算机网络是互联的、自治的计算机集合 互联:通过通信链路互联互通自治&a…

π120M30 双通道数字隔离器兼容ADuM3210TRZ 广泛应用于工业自动化系统方案

π120M30 双通道数字隔离器兼容ADuM3210TRZ 广泛应用于工业自动化系统方案 。具有出色的性能特征和可靠性,整体性能优于光耦和基于其他原理的数字隔离器产品。传输通道间彼此独立,可实现多种传输方向的配置,可实现 3.0kV rms 隔离耐压等级和 …

【Java语言】— 类型转换

1.类型转换 (1)自动类型转换 类型范围小的变量,可以直接赋值给类型范围大的变量。 ①自动类型转换的底层原理 ②自动类型转换的其他形式 (2)表达式的自动类型转换 在表达式中,小范围类型的变量会自动转…