git入门指南:新手快速上手git(Linux环境如何使用git)

目录

 前言

1. 什么是git?

2. git版本控制器

3. git在Linux中的使用

安装git

4. git三板斧

第一招:add

第二招:commit

第三招:push

5. 执行状态

6. 删除

总结


 

 前言

        Linux的基本开发工具介绍完毕,接下来介绍一下Linux环境下如何使用git,以及git到底是什么?它和gitee和github之间有什么关系?本文将会想你简单介绍git,以及git在Linux上的基础使用,帮助你快速上手git。

在这里插入图片描述

1. 什么是git?

        我们在编写各种⽂档时,为了防⽌⽂档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出不同的副本。

        每个版本有各⾃的内容,但最终会只有⼀份报告需要被我们使⽤。

        随着版本数量的不断增多,你还记得这些版本各⾃都是修改了什么吗? ⽂档如此,我们写的项⽬代码,也存在这个问题。

        为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让你了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业

⽬前最主流的版本控制器就是Git

2. git版本控制器

版本控制器:记录每次的修改以及版本迭代的一个管理系统。

        Git是一个分布式版本控制系统,Git有远程仓库和本地仓库。

  • 本地仓库:是存储在个人计算机上的Git存储库,用于保存项目的完整历史记录和文件。
  • 远程仓库:则是存储在网络上的Git存储库

        在对代码进行管理时我们可以在本地仓库进行管理,也可以在git服务器远端仓库进行管理。

        随着需求增加,也为了便于用户可以随时看到自己的资源,随着git发展,以git为核心的网站平台随之产生,例如github/gitee

3. git在Linux中的使用

安装git

查看系统是否安装git

git --version <!--查看git版本-->

git安装

yum install git

在远端创建仓库推荐使用gitee

第一次使用我们需要先配置一下,在git上设置全局的用户,以及提交的方式

git config --global user.email "you@example.com" <!----例如:登录gitee的邮箱-->

git config --global user.name "Your Name" <!----gitee用户名称-->
  • --global 参数用于指定git配置的全局级别,即对当前用户的所有仓库都生效

查看配置项

git config -l

删除/重置配置项

git config (--global) --unset user.name <!--设置为全局的删除时加--global-->

git config (--global) --unset user.email

配置好之后我们需要创建一个gitee仓库,把gitee仓库克隆下来

 在创建仓库时根据自己的需求创建仓库即可:

 初始化仓库时,可以依据自己的代码语言选择编程语言,添加一个.gitignore文件,许可证可以先不选

模板可以先不勾选

.gitignore文件作用:忽略一些临时文件、日志文件、编译生成的文件、配置文件,可以保持版本库的整洁和简洁

创建完成之后复制仓库链接

把远端仓库 克隆/下载 下来

git clone [仓库链接]

可能会有类似这样的提示,填写自己的gitee账户信息即可

Cloning into '...'...`
Username for 'https://gitee.com': 
Password for 'https://@gitee.com':

克隆仓库之后我们就可以在当前文件夹内看到一个.git文件

.git目录就是我们的版本库(仓库),一定不能修改(一旦修改就可能导致仓库报废)

.git目录所在目录属于工作区,一般文件都是添加在工作区

4. git三板斧

第一招:add

将代码放到刚才下载好的目录中

git add [文件名] <!--将需要用 git 管理的文件告知 git-->
第二招:commit

提交改动到本地

git commit -m "提示" <!--提交的时候应该注明提交日志, 描述改动的详细内容-->

-m参数用于添加一条提交信息,该信息会记录在提交历史中,以便其他开发者了解该次提交的目的和内容

注意:提示信息不要乱写!!

git可以查看提交日志

git log <!--查看提交日志--- >提示信息以及提交记录-->
第三招:push

同步到远端服务器上

git push

需要填入用户名密码. 同步成功后, 刷新gitee 页面就能看到代码改动了

5. 执行状态

查看当前工作目录的状态

git status

 例如:

1.  当前状态是有一个test.cpp文件没有提交。用户可以使用git add添加文件

 

 2.  当前状态是代码以经add之后,可以选择提交(使用commit),也可以选择丢弃(git reset )

 

 3.  当前状态是文件以及添加并提交到了本地仓库,但没有提交到远端仓库,可以使用git push指令同步到远端服务器上

6. 删除

 将提交的文件进行删除:

git rm [文件名]

 执行删除之后也可以查看状态:

比如:

 这里也仅仅是将本地仓库中的文件删除,我们还需要执行git三板斧将数据与远端同步。


总结

        git当中还有许多的知识,如:⼯作区,暂存区,版本库,Git版本管理,⾃由进⾏版本回退、撤销、修改等Git操作⽅式与背后操作原理等,本期只是简单介绍git,为了帮助新手快速上手git的使用,后续我也会深入介绍git的用法,好了以上便是本文全部内容,感谢阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

游戏开发公司需要具备哪些能力?

中懿游游戏软件开发,游戏开发行业的竞争日益激烈&#xff0c;成功的游戏开发公司需要具备多方面的能力&#xff0c;从技术创新到市场推广&#xff0c;再到团队协作。以下是构建成功游戏开发公司所需的关键能力概览&#xff1a; 1. 游戏开发技术&#xff1a; 在技术方面&#…

【flink】状态清理策略(TTL)

flink的keyed state是有有效期(TTL)的&#xff0c;使用和说明在官网描述的篇幅也比较多&#xff0c;对于三种清理策略没有进行横向对比得很清晰。 全量快照清理(FULL_STATE_SCAN_SNAPSHOT)增量清理(INCREMENTAL_CLEANUP)rocksdb压缩清理(ROCKSDB_COMPACTION_FILTER) 注意&…

MySQL8.0聚合函数+over()函数

1、数据表内容为&#xff1a; CREATE TABLE chapter11 (shopname VARCHAR(255) NULL,sales VARCHAR(255) NULL,sale_date VARCHAR(255) NULL ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;INSERT INTO chapter11 (shopname, sales, sale_date) VALUES(A…

Linux 系统调用

系统调用 在现代操作系统中&#xff0c;内核提供了用户进程与内核进行交互的一组接口。 这些接口让应用程序受限地访问硬件设备&#xff0c;提供了创建新进程并与已有进程进行通信的机制&#xff0c;也提供了申请操作系统其他资源的能力。 应用程序发出各种请求&#xff0c;而…

WEB渗透—PHP反序列化(八)

Web渗透—PHP反序列化 课程学习分享&#xff08;课程非本人制作&#xff0c;仅提供学习分享&#xff09; 靶场下载地址&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程&#xff0c;基于课程制作的靶场 课程地址&#xff1a;PHP反序列化漏洞学习_哔哩…

持续集成交付CICD:Linux 部署 Jira 9.12.1

目录 一、实验 1.环境 2.K8S master节点部署Jira 3.Jira 初始化设置 4.Jira 使用 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构版本IP备注master1K8S master节点1.20.6192.168.204.180 jenkins slave &#xff08;从节点&#xff09; jira9.12.1…

【强化学习】循序渐进讲解Deep Q-Networks(DQN)

文章目录 1 Q-learning与Deep Q-learning2 DQN的结构组成3 DQN创新技术&#xff08;重点&#xff09;3.1 Experience Replay&#xff08;经验回放&#xff09;3.2 Fixed Q-Target&#xff08;固定Q目标&#xff09;3.3 Double Deep Q-Learning&#xff08;双重深度Q学习方法&am…

momentum2靶机

文章妙语 遇事不决&#xff0c;可问春风&#xff1b; 春风不语&#xff0c;遵循己心。 文章目录 文章妙语前言一、信息收集1.IP地址扫描2.端口扫描3.目录扫描 二&#xff0c;漏洞发现分析代码bp爆破1.生成字典2.生成恶意shell.php2.抓包 三&#xff0c;漏洞利用1.反弹shell 四…

pytorch张量的创建

张量的创建 张量&#xff08;Tensors&#xff09;类似于NumPy的ndarrays &#xff0c;但张量可以在GPU上进行计算。从本质上来说&#xff0c;PyTorch是一个处理张量的库。一个张量是一个数字、向量、矩阵或任何n维数组。 import torch import numpy torch.manual_seed(7) # 固…

深圳鼎信|输电线路防山火视频监控预警装置:森林火灾来袭,安全不留白!

受线路走廊制约和环保要求影响&#xff0c;输电线路大多建立在高山上&#xff0c;不仅可以减少地面障碍物和人类活动的干扰&#xff0c;还能提高线路的抗灾能力和可靠性。但同时也会面临其它的难题&#xff0c;例如森林火灾预防。今天&#xff0c;深圳鼎信智慧将从不同角度分析…

随机森林 2(决策树)

通过 随机森林 1 的介绍&#xff0c;相信大家对随机森林都有了一个初步的认知&#xff0c;知道了随机和森林分别指的是什么&#xff0c;以及决策树根据什么选择内部节点。本文将会从森林深入到树&#xff0c;去看一下决策树是如何构建的。网上很多文章都讲了决策树如何构建&…

幺模矩阵-线性规划的整数解特性

百度百科:幺模矩阵 在线性规划问题中&#xff0c;如果A为幺模矩阵&#xff0c;那么该问题具有最优整数解特性。也就是说使用单纯形法进行求解&#xff0c;得到的解即为整数解。无需再特定使用整数规划方法。 m i n c T x s . t . { A x ≥ b x ≥ 0 \begin{align*} min \quad…

Java动态代理Proxy(通俗易懂,一学就会)

为什么需要代理&#xff1f;代理长什么样&#xff1f; 代理实现案例代码 1.中介接口&#xff08;约束代理方法&#xff09; 2.BigStar&#xff08;被代理&#xff09; 实现接口方法 3.代理工具类 invoke方法中的proxy表示代理对象&#xff0c;method表示代理获取到调用的方法对…

Go 代码检查工具 golangci-lint

一、介绍 golangci-lint 是一个代码检查工具的集合&#xff0c;聚集了多种 Go 代码检查工具&#xff0c;如 golint、go vet 等。 优点&#xff1a; 运行速度快可以集成到 vscode、goland 等开发工具中包含了非常多种代码检查器可以集成到 CI 中这是包含的代码检查器列表&…

Linux配置环境变量的几种方式

​ &#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试…

青少年CTF-qsnctf-Web-include01include02(多种方法-知识点较多-建议收藏!)

PHP常见伪协议 php://filter是PHP中独有的一种协议&#xff0c;它是一种过滤器&#xff0c;可以作为一个中间流来过滤其他的数据流。通常使用该协议来读取或者写入部分数据&#xff0c;且在读取和写入之前对数据进行一些过滤&#xff0c;例如base64编码处理&#xff0c;rot13处…

【MybatisPlus快速入门】(2)SpringBoot整合MybatisPlus 之 标准数据层开发 代码示例

目录 1 标准CRUD使用2 新增3 删除4 修改5 根据ID查询6 查询所有7 MyBatis-Plus CRUD总结 之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介&#xff0c;在这一节中我们重点学习的是数据层标准的CRUD(增删改查)的实现与分页功能。代码比较多&#xff0c;我们一个个来学习…

AtomHub 开源容器镜像中心开放公测,国内服务稳定下载

由开放原子开源基金会主导&#xff0c;华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及 OpenSDV 开源联盟、openEuler 社区、OpenCloudOS 社区等成员单位共同发起建设的 AtomHub 可信镜像中心正式开放公测。AtomHub 秉承共建、共治、共享的理念&#xff0c;旨在为开源组织和开…

OpenCV-Python(19):Canny边缘检测

目录 学习目标 Canny 边缘检测原理 1.噪声抑制(噪声去除) 2.梯度计算 3.非极大值抑制 4.双阈值检测(滞后阈值) 5.边缘连接 Canny 边缘检测步骤 Canny 边缘检测的OpenCV实现 不同阈值的边缘检测效果 学习目标 了解Canny边缘检测的概念学习掌握函数cv2.Canny()的用法 …

C++加法运算符的重载(operator)

1.重载加法运算符 为什么要重载加法运算符&#xff1f; 因为C提供的加法运算符只能满足基本数据类型间的加法&#xff0c;如果我想让俩个相同的类的对象进行加法的话会报错 所以为了能让俩个相同类的对象进行加法&#xff0c;我们要把这个过程封装到一个函数里面&#xff0c;只…