Git介绍及应用

1.简介

Git是一个分布式版本控制器,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:

  • 本地仓库:开发人员自己电脑上的Git仓库
  • 远程仓库:远程服务器上的Git仓库

2.执行流程

3.Git代码托管服务

Git中存在两种类型的仓库,即本地仓库和远程仓库,那么如何搭建Git远程仓库呢?

  • 我们可以借助互联网上提供的一些代码托管服务来实现,比较常见的有GitHub、gitee、GitLab等

下面是gitee平台的远程仓库建立步骤图:

4.Git常用命令

4.1.Git全局设置

当安装完Git之后首先要做的事是设置用户名称和email地址,每次Git提交都会使用该用户的相关信息

在任意窗口下打开Git命令行窗口

设置用户信息 

  • git config --global user.name "用户名"
  • git config --global user.email "邮箱地址"

查看配置信息

  • git config --list

4.2.Git创建本地仓库

Git创建本地仓库有两个方法,一个是在本地初始化一个Git仓库,另一个是从远程仓库克隆 

在本地初始化一个仓库: 

  • 进入任意空目录,作为本地Git仓库
  • 右键点击git bash窗口
  • 执行命令 git init

从远程仓库克隆: 

  • 找到之前在gitee平台上创建的远程仓库,复制仓库地址
  • 任意进入一个目录,右键点击git bash窗口
  • 执行命令 git clone 地址

5.Git工作区中文件的状态

主要分为两个状态

  • untracked 未跟踪(未被纳入版本控制)
  • tracked 已跟踪(被纳入版本控制)

            1)Unmodified 未修改状态

            2)Modified 已修改状态

            3)Staged 已暂存状态

6.本地仓库操作

  • git status 用于查看文件状态
  • git add 用于将文件的修改加入暂存区
  • git reset 用于将暂存区的文件取消暂存或者是切换版本

  • git commit 用于将暂存区的文件修改提交到版本库(-m参数指的是message,我们在提交的时候要输入一个字符串,一般写一些提示信息,用于存放在日志里)

  • git log 用于查看日志

 7.远程仓库操作

  • git remote -v 用于查看已经配置的远程仓库,如果已经克隆了远程仓库,那么至少应该能看到origin,这是Git克隆的仓库服务器的默认名字

  • git remote add 别名 url地址 用于给本地仓库关联一个远程仓库,别名一般都会写origin,url地址就是远程仓库的地址

  • git push 远程仓库的别名 分支名 用于将本地仓库的文件推送到远程仓库

  • git clone url地址 用于将远程仓库克隆到本地仓库(上面介绍过了,也是创建本地仓库的方式之一)
  • git pull 远程仓库的别名 分支名 用于从远程仓库获取最新版本并合并到本地仓库

  • 注意:如果当前本地仓库不是从远程仓库克隆的,而是采用init指令在本地创建的,此时从远程仓库拉取文件就会报错(fatal: refusing to merge unrelated histories),那么可以在原命令之后添加参数--allow-unrelated-histories

8.分支操作

  • 查看分支
  • git branch 列出所有本地分支
  • git branch -r 列出所有远程分支
  • git branch -a 列出所有本地分支和远程分支

  • 创建分支
  • git branch 分支名 用于创建一个新分支

  • 切换分支
  • git checkout 分支名 用于切换已有的分支

  • 推送分支
  • git push 别名 分支名 用于将本地分支推送到远程仓库

  • 此时远程仓库里就会多一个分支

 

8.1.分支的作用

说了这么多分支操作,那么分支到底有什么作用呢?

  • 假设我有两个分支,一个分支1,一个分支2
  • 可以把分支理解成平行宇宙,我在分支1里干的事情不会在分支2里发生,反过来也是一样的,所以我在分支1里创建的文件、推送的文件等等,都不会在分支2里存在

主分支master下的文件:

新创建的分支branch1下的文件:

明显可以看见,branch1分支下的仓库文件多了一个,这就是在branch1分支下创建的文件,不会在主分支master下存在,利用这样的技术,我们可以把一个项目分成开发分支,测试分支等等,这样不会相互干扰而且还提高了效率

  • 合并分支
  • git merge 分支名 用于将其他分支合并到当前分支

9.标签操作

  • 当我们给某一时间段的业务打上标签后,我们就能通过这个标签再次回到这个时间段,来查看这个时候的相关业务
  • 标签功能通常用来存放不同版本的业务
  • 标签和分支有什么区别?分支是动态记忆的,当我开了一个分支之后,我在这个分支下做的所有操作都会被记忆,而标签是静态的,在我创建标签的那一刻,之前的操作都会被记忆,而之后的操作就不会记忆了,相当于只记录了那一刻 
  • 查看标签
  • git tag  查看所有标签 

  •  添加标签
  • git tag 标签名  添加一个标签,记录到创建这个标签为止所有的操作

  • 将标签推送至远程仓库
  • git push 仓库别名 标签名 将创建的标签推送至远程的仓库

将标签推送至远程仓库后,可以在代码托管平台上查看

  •  检出标签
  • git checkout -b 分支名 别名 查看指定标签下的代码,这里的分支名自定义即可

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

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

相关文章

【TB作品】MSP430F5529 单片机,温度控制系统,DS18B20,使用MSP430实现的智能温度控制系统

作品功能 这个智能温度控制系统基于MSP430单片机设计,能够实时监测环境温度并根据预设的温度报警值自动调节风扇和加热片的工作状态。主要功能包括: 实时显示当前温度。通过OLED屏幕显示温度报警值。通过按键设置温度报警值。实际温度超过报警值时&…

【经验分享】嵌入式入坑经历(选段)

文章目录 你现在的工作中所用到的专业知识有哪些呢?为什么想转行了?后来为什么从事了嵌入式行业呢?你对嵌入式的兴趣是何时培养起来的?你是怎么平衡兴趣爱好和工作的关系的?平时做的事情对你现在的工作有哪些帮助?对于有志学习嵌入式开发的在校大学生…

【96】write combine机制介绍

前言 这篇文章主要介绍了write combine的机制 一、write combine的试验 1.系统配置 (1)、CPU:11th Gen Intel(R) Core(TM) i7-11700 2.50GHz (2)、GPU:XX (3)、link status&am…

MySQL(四) - SQL优化

一、SQL执行流程 MySQL是客户端-服务器的模式。一条SQL的执行流程如下: 在执行过程中,主要有三类角色:客户端、服务器、存储引擎。 大致可以分为三层: 第一层:客户端连接到服务器,构造SQL并发送给服务器…

Python | 排队取奶茶

队列的基本概念(队头、队尾)和特点(先入先出) 在 Python 语言中,标准库中的queue模块提供了多种队列的实现,比如普通队列和优先级队列,因此你可以使用queue.Queue类来创建队列,不过…

惠海 H5528 升降压芯片 12V24V36V48V60V75V LED恒流驱动IC 调光细腻顺滑无阶梯感

惠海H5528是一款升压、降压、升压降压的LED恒流驱动IC,其具备宽范围调光比且无频闪调光的特性,使得它在智能照明、Dali调光、0~10V调光、摄影灯照明以及补光灯照明等多种应用中具有广泛的应用前景。 这款芯片支持降压、升压和升降压拓扑的应用&#xff0…

C++面向对象程序设计 - 文件操作与文件流

在实际应用中,常以磁盘文件作为对象,即能从磁盘文件读取数据,也能将数据输出到磁盘文件,磁盘是计算机的外部存储器,能够长期保留信息,能读能写,可以刷新重写等等。 在C中,文件操作通…

Flink Rest Basic Auth - 安全认证

背景 公司目前需要将Flink实时作业云化,构建多租户实时计算平台。目前考虑为了资源高效利用,并不打算为每个租户部署一套独立的Kubernetes集群。也就意味着多个租户的作业可能会运行在同一套kubernets集群中。此时实时作业的任务就变的很危险,因为网络可能是通的,就会存在…

106.网络游戏逆向分析与漏洞攻防-装备系统数据分析-在UI中显示装备与技能信息

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

新媒体暴力起号必备因素!沈阳新媒体运营培训学校

1周涨粉10w?这对普通人来说可以说是天文数字,但只要掌握方式方法,普通人也能做到! 面试经验丰富的人都深知,给面试官留下的第一印象相当重要,几乎决定了80%的面试机会。标题也是如此,在完成一篇…

Android SBL是什么

Android SBL(Secondary Bootloader)是Android系统中一个关键的组成部分,它属于Bootloader的二级引导程序。以下是关于Android SBL的详细解释: 定义: SBL是Secondary Bootloader的缩写,中文称为第二级引导程…

中国剩余定理学习

中国剩余定理( C R T CRT CRT)及其扩展( E X C R T EXCRT EXCRT)详解 基本形式 中国剩余定理给出了以下的一元线性同余方程组的解: { x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) ⋮ x ≡ a n ( m o d m n ) \begin{cases} x \equiv a_1 \pmod{m_1} \\ x \eq…

力扣209.长度最小的数组

力扣209.长度最小的数组 模版滑窗求最小 class Solution {public:int minSubArrayLen(int target, vector<int>& nums) {int n nums.size(),resn1;int sum 0;for(int i0,j0;i<n;i){sum nums[i];//尽可能缩小区间while(sum - nums[j] > target){sum - num…

[经验] 蝉联一词的含义是什么 #知识分享#职场发展

蝉联一词的含义是什么 蝉联这个词起源于古代中国&#xff0c;最初是指天子连续两年以上的年号相同。后来&#xff0c;这个词被用于形容某个人或某个团体连续多次获得某种荣誉或奖项的情况。在现代生活中&#xff0c;我们常常听到某个体育运动员蝉联冠军、某个企业蝉联业绩排行榜…

荆州餐饮环保在行动:清洗油烟净化器,守护城市环境

我最近分析了餐饮市场的油烟净化器等产品报告&#xff0c;解决了餐饮业厨房油腻的难题&#xff0c;更加方便了在餐饮业和商业场所有需求的小伙伴们。 在荆州&#xff0c;餐饮业不仅是美食爱好者的天堂&#xff0c;更是城市生活的重要组成部分。然而&#xff0c;随着餐饮业的发…

基于拓扑漏洞分析的网络安全态势感知模型

漏洞态势分析是指通过获取网络系统中的漏洞信息、拓扑信息、攻击信息等&#xff0c;分析网络资产可能遭受的安全威胁以及预测攻击者利用漏洞可能发动的攻击&#xff0c;构建拓扑漏洞图&#xff0c;展示网络中可能存在的薄弱环节&#xff0c;以此来评估网络安全状态。 在网络安…

科普|大数据风险检测对申贷人有哪些好处?

大数据风险检测可以极大地提高金融机构在用户肖像、反欺诈和信用评级等方面的效率和风险控制能力&#xff0c;这是金融企业发展过程中必须结合的一种科技技术。大数据风险检测覆盖信贷领域的所有流程&#xff0c;从客户获取到身份验证&#xff0c;再到信贷中和信贷后。因此&…

Ruby语言与Python:深度比较与独特魅力探索

Ruby语言与Python&#xff1a;深度比较与独特魅力探索 在编程语言的浩瀚海洋中&#xff0c;Ruby和Python无疑是两颗璀璨的明星。它们各自拥有独特的魅力和广泛的应用领域。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深入探讨Ruby语言和Python的异同&#xf…

sudo快可以在Windows中使用了,以下是它的内容和使用方法

sudo命令受到Linux用户的尊敬。它允许你以另一个用户的身份运行命令,通常是管理员(或者Linux中的root用户),所以正如你所想象的,它几乎经常被开发人员、技术支持代理和系统管理员使用。现在,你可以在Windows中使用它! 为什么sudo如此受人尊敬 sudo命令允许你运行任务,…

电赛报告书写

一、总体要求 &#xff08;1&#xff09;摘要&#xff1a;一页&#xff0c;小于300字 &#xff08;2&#xff09;正文&#xff1a;不超过8页 &#xff08;3&#xff09;附录&#xff1a;可以没有&#xff0c;但是不能超过2页 二、摘要书写 摘要要小于等于300字&#xff0c…