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的用法,好了以上便是本文全部内容,感谢阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UnityHub无法打开项目问题,打开项目闪退回到hub界面

UnityHub无法打开项目问题&#xff0c;打开项目闪退回到hub界面 UnityHub启动项目闪烁unity界面之后立刻闪退到UnityHub界面情况一&#xff1a;这里这个问题我遇到了很多次情况都不太一样&#xff0c;我先说下我遇到的第一种问题也就是最好解决的一种。许可证到期导致闪退 情况…

A Philosophy of Software Design 学习笔记

前言 高耦合&#xff0c;低内聚&#xff0c;降低复杂度&#xff1a;在软件迭代中&#xff0c;不关注软件系统结构&#xff0c;导致软件复杂度累加&#xff0c;软件缺乏系统设计&#xff0c;模块混乱&#xff0c;一旦需求增加、修改或者优化&#xff0c;改变的代价无法评估&…

OpenSource - SCM服务管理平台

文章目录 官方网址文档下载版本功能解决了哪些问题使用对象优势Linxu版本scm-dev deb服务列表 Windows版本scm-dev 服务列表scm-all 服务列表scm-jdk 服务列表scm-springboot 精简版本服务列表scm-springboot 服务列表scm-tomcat 服务列表 SCM 截图 官方网址 https://scm.chus…

SpringIOC之AbstractMessageSource

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

Qt前端技术:5.QSS

这个是表示QFrame中的pushButton中的子类和它子类的子类都将背景变为red 写成大于的时候表示只有直接的子类对象才会变 这个图中的QGroupBox和QPushButton都是QFrame的直接的子类 这个中的QGroupBox是QFrame的直接的子类但是QPushButton 是QGroupBox的子类&#xff0c;QPushB…

【雷达原理】雷达测速原理及实现方法

一、雷达测速原理 1.1 多普勒频率 当目标和雷达之间存在相对运动时&#xff0c;若雷达发射信号的工作频率为&#xff0c;则接收信号的频率为&#xff0c;其中为多普勒频率。将这种由于目标相对于辐射源运动而导致回波信号的频率发生变化的现象称为多普勒效应。 如图1-1所示&a…

DBA-MySql面试问题及答案-下

文章目录 1.能说下myisam 和 innodb的区别吗&#xff1f;2.说下mysql的索引有哪些吧&#xff0c;聚簇和非聚簇索引又是什么&#xff1f;3.那你知道什么是覆盖索引和回表吗&#xff1f;4、锁的类型有哪些呢5、你能说下事务的基本特性和隔离级别吗&#xff1f;6、那 ACID 靠什么保…

【数据结构】最短路径算法实现(Dijkstra(迪克斯特拉),FloydWarshall(弗洛伊德) )

文章目录 前言一、Dijkstra&#xff08;迪克斯特拉&#xff09;1.方法&#xff1a;2.代码实现 二、FloydWarshall&#xff08;弗洛伊德&#xff09;1.方法2.代码实现 完整源码 前言 最短路径问题&#xff1a;从在带权有向图G中的某一顶点出发&#xff0c;找出一条通往另一顶点…

XUbuntu22.04之跨平台音频编辑工具(平替Audition):ocenaudio(二百零二)

加粗样式 简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#…

智能优化算法应用:基于金枪鱼群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于金枪鱼群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于金枪鱼群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.金枪鱼群算法4.实验参数设定5.算法结果6.…

Python算法例26 落单的数Ⅳ

1. 问题描述 给定数组&#xff0c;除了一个数出现一次外&#xff0c;所有数都出现两次&#xff0c;并且所有出现两次的数都挨着&#xff0c;找出出现一次的数。 2. 问题示例 给出nums[3&#xff0c;3&#xff0c;2&#xff0c;2&#xff0c;4&#xff0c;5&#xff0c;5]&am…

Spark的核心概念:RDD、DataFrame和Dataset

Apache Spark&#xff0c;其核心概念包括RDD&#xff08;Resilient Distributed Dataset&#xff09;、DataFrame和Dataset。这些概念构成了Spark的基础&#xff0c;可以以不同的方式操作和处理数据&#xff0c;根据需求选择适当的抽象。 RDD&#xff08;Resilient Distribute…