Linux中的git命令行
Linux中的git命令行
目录
- Linux中的git命令行
- 引入
- 1、Linux下的git工具起源
- 2、gitee的使用
- .gitignore
- .git
- 3、git三板斧
- 3.1 git add
- 3.2 git commit
- 3.3 git push
- 4、git操作
- 4.1 查看提交日志
- 4.2 查看状态
- 4.3 远端同步
- 4.4 删除文件
- 4.5 修改文件名
引入
当多个开发者同时参与同一个项目时,代码的管理和协作变得非常重要。版本控制器(Version Control 可以帮助开发者追踪代码的变化、协同工作、还原历史版本、定位错误等,极大地提高了代码的可维护性和稳定性。而Git作为一个强大的版本控制系统,为开发者提供了多种优秀的功能和工具,帮助开发者更加高效、可靠地开发和管理代码。
1、Linux下的git工具起源
雷纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)是一位著名的计算机程序员,他是Linux操作系统的创建者。Git是一种分布式版本控制系统,由托瓦兹于2005年创建。
托瓦兹创建Git的主要原因是他在管理Linux内核代码时遇到了一些问题。他觉得当时使用的版本控制工具无法满足Linux内核项目的需求,因此他开始思考如何创建一种更好的版本控制系统。Git是他的解决方案之一,而且现在它已经成为了全球最流行的版本控制系统之一,广泛应用于各种软件开发项目中。
2、gitee的使用
前面我们已经了解到Git是一种分布式版本控制器,gitee与github由此诞生,它们均是一个基于Git的代码托管平台;在国内,我们处于稳定性的考虑,我们使用gitee作为我们的代码托管仓库
step1:我们首先新建一个仓库


step2:得到远端仓库地址

step3:在Linux环境上使用git将远端的仓库拉取到本地
sudo yum install git #安装git工具
#git clone 后面跟刚刚复制的仓库地址
git clone https://gitee.com/how-vague-and-fragile-love-is/linux_-test.git

此时我们即可查看到拉去到本地的git仓库:

进入仓库并查看内容:
cd linux_-test
ls -al

.gitignore
.gitignore 是一个在 Git 仓库中使用的文件,用于指定不应由 Git 跟踪项目更改的文件和目录(凡是在.gitignore文件内部的后缀,对应的文件,不会被上传到gitee上)
vim .gitignore

.git
在创建Git仓库时,Git会自动在项目目录中创建.git目录。该目录通常是隐藏的,因此不会在常规文件浏览器中显示;.git目录用于存储Git仓库中的所有信息,通过在其中存储Git仓库的所有信息,Git可以跟踪文件的所有更改并记录它们的历史记录。
push到远端本质就是将你本地.git文件里面的内容同步到gitee上
3、git三板斧

3.1 git add
git add命令用于将修改后的文件添加到暂存区,这是Git版本控制中的第一个阶段
①方式一:可将指定文件添加到暂存区:
git add [filename]
②方式二:直接将当前目录下新增文件(所有修改的文件)添加到暂存区:
git add .
示例如下:(我们一般直接使用方式二即可)
#添加文件
git add .

其中hello为linux_-test目录下新添加的文件,通过git add .操作将它添加至暂存区
3.2 git commit
Git commit命令用于将修改提交到本地仓库中
git commit -m '提交日志'
提交日志是记录代码仓库中每一次提交信息的一种记录形式。每次提交都会包括一个简短的描述、作者、提交时间等基本信息。提交日志的作用是方便开发人员在后续的开发工作中查看、理解和管理代码的变更历史
示例如下:
git commit -m 'first update test'

3.3 git push
它可以将本地分支上的提交(commit)推送到远程仓库中
git push

此时我们查看远端仓库即可看到我们上传的内容:

4、git操作
4.1 查看提交日志
git log #查看提交日志

使用该命令查看提交日志是倒着的,第一个是最近一次的提交日志。
4.2 查看状态
例如我们修改.gitignore文件:
vim .gitignore

使用如下命令查看状态:
git status

测试修改.gitignore文件

查看远端仓库:

4.3 远端同步
当我们直接修改远端仓库时,会出现远端仓库与本地仓库不一致的情况,此时
git push会出错,因此我们需要将远端仓库拉取到本地同步,再push
#将远端仓库拉取到本地同步
git pull#将我们本地仓库push到远端
git push
4.4 删除文件
删除本地仓库的文件:
git rm [filename]
4.5 修改文件名
修改文件名:
#使用mv指令,变化不会记录在status当中
git mv [旧文件名] [新文件名]
例如:
git mv hello helloworld
再使用git status查看状态:

相关文章:
Linux中的git命令行
Linux中的git命令行 目录 Linux中的git命令行引入1、Linux下的git工具起源2、gitee的使用.gitignore.git 3、git三板斧3.1 git add3.2 git commit3.3 git push 4、git操作4.1 查看提交日志4.2 查看状态4.3 远端同步4.4 删除文件4.5 修改文件名 引入 当多个开发者同时参与同一个…...
【C++】哈希表:开散列和闭散列
📝 个人主页 :超人不会飞)📑 本文收录专栏:《C的修行之路》💭 如果本文对您有帮助,不妨点赞、收藏、关注支持博主,我们一起进步,共同成长! 目录 前言一、基于哈希表的两个…...
C技能树:Hello World
Hello World 输出 "Hello, World!" 字符串,请选出错误答案。 小知识:Hello World究竟从何而来? Hello, World最早是由 Brian Kernighan 创建的。1978年,Brian Kernighan写了一本名叫《C程序设计语言》的编程书,在程…...
TryHackMe-Set(Windows渗透测试 | WinDefender免杀)
Set 您再次发现自己在Windcorp公司的内部网络上。上次你去那里的味道真好,你回来了 了解更多。 但是,这次他们设法保护了域控制器,因此您需要找到另一台服务器,并在第一次扫描时发现“Set”。 Set被用作开发人员的平台…...
信安大佬真的用kali吗?
Kali只是现在网络安全和kali比较火的一个操作系统 下面我为大家讲讲kali系统都有那些优点 Kali介绍Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。面向专业的渗透测试和安全审计。 集成化:预装超过300个渗透测试工具兼容好&#x…...
禁用表单元素:Layui框架下的实践与技巧
引言 在日常的网页开发过程中,有时我们需要禁用表单元素,以防止用户在某些情况下进行输入或更改。在本文中,我们将介绍如何在Layui框架下使用JavaScript禁用表单元素,例如单选按钮(radio)、下拉列表&#…...
spring boot 访问HTML
HTML整合spring boot 简介默认文件路径访问自定义文件路径访问 或通过Controller控制器层跳转访问 简介 SpringBoot默认的页面映射路径(即模板文件存放的位置)为“classpath:/templates/*.html”。静态文件路径为“classpath:/static/”,其中…...
WPF教程(四)--Dispatcher
一、Dispatcher介绍 微软在WPF引入了Dispatcher,那么这个Dispatcher的主要作用是什么呢? 不管是WinForm应用程序还是WPF应用程序,实际上都是一个进程,一个进程可以包含多个线程,其中有一个是主线程,其余的是…...
ijkplayer 编译增加支持更多的音视频格式
ijkplayer是B站开源的一款基于ffmpeg的移动端播放器。但为了减少播放器的体积,很多音视频的格式播放默认都是不支持的,需要自己下载ijkplayer源码进行编译。这里以mac环境下android为例,简述ijkplayer的编译过程,以及为了支持更多…...
TOP命令显示完整命令行信息
TOP 在Linux系统中,可以使用top命令来查看系统的实时性能数据,包括CPU使用率、内存使用率、进程信息等。以下是top命令的常用选项: -d seconds:指定top命令的刷新时间,单位为秒。 -u username:只显示指定…...
Spring6从入门到精通 第一章 带你玩转Spring
这里写目录标题 一 Spring框架产生的原因二 Spring6配置的关键环节 一 Spring框架产生的原因 传统的JavaWeb存在着耦合度较高的问题,而且实现完整的的MVC三层架构,开发成本过大,因此出现了Spring这个轻量级的开发框架,相当于建筑里…...
Apache POI 实现用Java操作Excel完成读写操作
简介 Apache POI是一个用于操作Microsoft Office格式文件(包括xls、docx、xlsx、pptx等)的Java API库。POI全称为Poor Obfuscation Implementation,是Apache Software Foundation的一个开源项目。它提供了一组Java API,使得Java程…...
改善供应商关系的八种方法
与供应商保持良好关系的重要性有很多原因。最重要的是,它使每个人的日常工作更加愉快。它还可以为你获得更好的交易,有助于协作并增强商誉。 但是,每个供应商都是不同的,建立牢固的关系可能很棘手。本文将解释企业如何建立并操持…...
网络安全-CDN绕过寻找真实IP
网络安全-CDN绕过寻找真实IP CDN就是CDN加速,就是根据你的目标让你访问的更快 CDN CDN,即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说得简单点,就是一组在不同运营商之间的对接节点上的…...
牛客网 HJ28 素数伴侣【二分图匹配,匈牙利算法】困难
描述 若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的 N ( N 为偶数)个正整数中挑选出若干对组成“素数伴侣”&am…...
带你畅玩ChatGPT
ChatGPT出来很久了,最近不少朋友还是不太会使用ChatGPT体验与机器人进行聊天,我正好发现有种非常简单的方式帮助大家体验ChatGPT,且响应速度非常快,写代码能力也不错,现在推荐给大家,希望对大家有所帮助。 目录 一、下载专用浏览器 1.1 下载链接 1.2 安装浏览器 二、…...
ChatGPT探索系列之六:思考ChatGPT的未来发展趋势和挑战
文章目录 前言一、未来发展趋势1. ChatGPT重塑数据分析之道2. ChatGPT颠覆企业运用人工智能和机器学习的途径3. ChatGPT颠覆自动化商业流程4. ChatGPT引领企业决策迈向新纪元 二、ChatGPT掀开未来充满机遇和挑战的新篇章总结 前言 ChatGPT发展到目前,其实网上已经有…...
TryHackMe-Year of the Fox(Linux渗透测试)
Year of the Fox 你能熬过狡猾的狐狸吗? 端口扫描 循例nmap 有个域名,加入hosts SMB枚举 smbmap enum4linux -a,枚举到两个账户 Web枚举 进80发现需要登录 上hydra RCE to Getshell 进来可以查看一些文件 bp发现这里存在过滤 burpfuzz一…...
ChatGPT 如何获取API Key
什么是OpenAI API Key? OpenAI是ChatGPT的“开发商”,提供API使得开发者可以在自己的应用程序上调用OpenAI的相关服务(除了ChatGPT,OpenAI还有其他产品)。如果想调用OpenAI的产品服务在自己的应用程序上,我们就需要申…...
明面抵制,暗中布局 对于AI,马斯克的言行为何如此“割裂”?
最近,马斯克创建了一家叫做“X”的空壳公司,目标是将其打造成涵盖各方面的多功能应用集合平台,推特、SpaceX、特斯拉、Neuralink等公司业务都已打包加入其中。如今,“X”公司再添新丁——X.AI,即马斯克新成立的人工智能…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
WEB3全栈开发——面试专业技能点P4数据库
一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await…...
鸿蒙Navigation路由导航-基本使用介绍
1. Navigation介绍 Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏、内容区和工具栏,其中内容区默认首页显示导航内容(Navigation的子组件)或非首页显示(Nav…...
