当前位置: 首页 > news >正文

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:我们首先新建一个仓库

image-20230411092924787

image-20230410205331420

step2:得到远端仓库地址

image-20230410205539271

step3:在Linux环境上使用git将远端的仓库拉取到本地

sudo yum install git    #安装git工具
#git clone 后面跟刚刚复制的仓库地址
git clone https://gitee.com/how-vague-and-fragile-love-is/linux_-test.git

image-20230411093338310

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

image-20230411093400808

进入仓库并查看内容:

cd linux_-test
ls -al

image-20230411093515935

.gitignore

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

vim .gitignore

.git

在创建Git仓库时,Git会自动在项目目录中创建.git目录。该目录通常是隐藏的,因此不会在常规文件浏览器中显示;.git目录用于存储Git仓库中的所有信息,通过在其中存储Git仓库的所有信息,Git可以跟踪文件的所有更改并记录它们的历史记录。

push到远端本质就是将你本地.git文件里面的内容同步到gitee上

3、git三板斧

image-20230410214134677

3.1 git add

git add命令用于将修改后的文件添加到暂存区,这是Git版本控制中的第一个阶段

①方式一:可将指定文件添加到暂存区:

git add [filename]

②方式二:直接将当前目录下新增文件(所有修改的文件)添加到暂存区:

git add .

示例如下:(我们一般直接使用方式二即可)

#添加文件
git add .

image-20230411094604285

其中hellolinux_-test目录下新添加的文件,通过git add .操作将它添加至暂存区


3.2 git commit

Git commit命令用于将修改提交到本地仓库中

git commit -m '提交日志'

提交日志是记录代码仓库中每一次提交信息的一种记录形式。每次提交都会包括一个简短的描述、作者、提交时间等基本信息。提交日志的作用是方便开发人员在后续的开发工作中查看、理解和管理代码的变更历史

示例如下:

git commit -m 'first update test'

image-20230411094740028


3.3 git push

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

git push

image-20230411095132258

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

image-20230411095605914

4、git操作

4.1 查看提交日志

git log     #查看提交日志

image-20230411095901657

使用该命令查看提交日志是倒着的,第一个是最近一次的提交日志。

4.2 查看状态

例如我们修改.gitignore文件:

vim .gitignore 

image-20230411100142615

使用如下命令查看状态:

git status

image-20230411100233777

测试修改.gitignore文件

image-20230411100439724

查看远端仓库:

image-20230411100530564

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被用作开发人员的平台&#xf…...

信安大佬真的用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,即马斯克新成立的人工智能…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...