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,即马斯克新成立的人工智能…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
