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 分支名 别名 查看指定标签下的代码,这里的分支名自定义即可

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

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

相关文章

New Work-flow of Circuit Bootstrapping

参考文献: [CGGI17] Chillotti I, Gama N, Georgieva M, et al. Faster packed homomorphic operations and efficient circuit bootstrapping for TFHE. ASIACRYPT 2017 (1): 377-408.[CDKS21] Chen H, Dai W, Kim M, et al. Efficient homomorphic conversion be…

计算机组成结构—IO接口(IO控制器)

目录 一、I/O 接口的功能 二、I/O 接口的基本结构 1. 总线连接的数据通路 2. I/O 接口的基本组成 三、I/O 端口及其编址 1. 统一编址 2. 不统一编址 四、I/O 接口的类型 两个系统或两个部件之间的交接部分,一般就称为 接口。接口可以是硬件上两种设备间的连…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:医疗健康智能服务

作为国产运动医学的领导者,致力于提供运动医学的整体临床解决方案,公司坐落于北京经济技术开发区。应用于肩关节、膝关节、足/踝关节、髋关节、肘关节、手/腕关节的运动医学设备、植入物和手术器械共计300多个品规通过NMPA的批准,临床应用于国…

docker构建java项目镜像

资料参考 参考自黑马教程:10.Docker基础-自定义镜像_哔哩哔哩_bilibili 初步准备 打包好java项目jar包,和Dockerfile文件一起放到指定目录下,后续操作都是在该目录下操作, 我这边是:/usr/local/src/train-ticket/ …

React -- memo允许你的组件在 props 没有改变的情况下跳过重新渲染。

memo(Component, arePropsEqual?) 使用 memo 将组件包装起来,以获得该组件的一个 记忆化 版本。通常情况下,只要该组件的 props 没有改变,这个记忆化版本就不会在其父组件重新渲染时重新渲染。但 React 仍可能会重新渲染它:记忆化…

vue3路由详解,从0开始手动配置路由(vite,vue-router)

创建一个不含路由的vue项目 (查看路由配置可以直接跳过这一段) 输入npm指令,然后写一个项目名称,之后一路回车即可 npm create vuelatest 注意这里我们不选引入vue router,成功后可以 查看目录 然后按提示信息输入指…

PLC通过Profinet转Modbus网关与流量计通讯案例

1、案例背景 在工业自动化系统中,PLC(可编程逻辑控制器)与流量计之间的通信是保证以后设备生产数据准确传输和实现控制功能的关键。但是,由于PLC和流量计可能使用不同的通信协议(如Profinet和Modbus),因此需要一种转换机制来实现它们之间的通…

Telnet发邮件的功能如何实现?有哪些限制?

Telnet发邮件有哪些步骤?使用Telnet发送邮件安全吗? 虽然大多数人使用图形化的电子邮件客户端发送和接收邮件,但了解如何通过Telnet发邮件依然是有益的。AokSend将详细介绍Telnet发邮件的功能如何实现,帮助读者掌握这种基础但有用…

问题:材料题请点击右侧查看材料问题 查看材料 #学习方法#经验分享#学习方法

问题:材料题请点击右侧查看材料问题 查看材料 A.Colleges may reduce their enrollment. B.Top universities become increasingly competitive. C.Universities become selective in student admission. D.Colleges invest less in academy and infrastructure…

模拟超市收银系统

题目 模拟超市收银系统 内容要求:使用文本命令行窗口设计模拟超市收银系统。要求由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从文件中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有…

「动态规划」如何求地下城游戏中,最低初始健康点数是多少?

174. 地下城游戏https://leetcode.cn/problems/dungeon-game/description/ 恶魔们抓住了公主并将她关在了地下城dungeon的右下角。地下城是由m x n个房间组成的二维网格。我们英勇的骑士最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士…

Node.js环境搭建

背景 想接触下node开发, 打算做个node环境 一、安装包获取 我喜欢使用压缩包解压然后配置的方式进行 地址为: Index of /download/release/ ,可按需选择自己的版本,我选择了如下版本 二、解压配置 将压缩包解压只自己想要安装的文件加下,配置环境变量,解压如下所示: …

Polar Web【中等】写shell

Polar Web【中等】写shell Contents Polar Web【中等】写shell思路&探索EXP运行&总结 思路&探索 初看题目,预测需要对站点写入木马,具体操作需要在过程中逐步实现。 打开站点(见下图),出现 file_put_contents 函数,其…

HarmonyOS开发-鸿蒙UiAbility 组件间跳转

前言 随着春节假期结束各行各业复产复工,一年一度的春招也持续火热起来。最近,有招聘平台发布了《2024年春招市场行情周报(第一期)》。总体来说今年的就业市场还是人才饱和的状态,竞争会比较激烈。 但是,…

算法学习笔记(7.6)-贪心算法(霍夫曼编码)

目录 1.什么是霍夫曼树 2.霍夫曼树的构造过程 3.霍夫曼编码 3.1具体的作用-频率统计 ##实战题目 1.什么是霍夫曼树 给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也…

计算机组成结构—IO方式

目录 一、程序查询方式 1. 程序查询基本流程 2. 接口电路 3. 接口工作过程 二、程序中断方式 1. 程序中断基本流程 2. 接口电路 3. I/O 中断处理过程 三、DMA 方式 1. DMA 的概念和特点 2. DMA 与 CPU 的访存冲突 3. DMA 接口的功能 4. DMA 接口的组成 5. DMA 的…

STCunio数字电源带PID数字闭环(带详细的代码说明文档)

STCunio,即 system on chip unusual i/o,采用类似 arduino 构架设计,即使没有单片机知 识的设计师和艺术家们能够很快地通过它学习电子和传感器的基础知识,并应用到他们的设 计当中。设计中所要表现的想法和创意才是最主要的,至于…

Windows 搭建C++ 纯开源开发环境 进行 YOLOv8 模型推理的开发测试环境

文章大纲 IDE 选择纯开源首选 Codeblocks 跨平台开发IDE其次选择 visual studio 社区版 or visual studio code包管理MSYS2pacmanconda & mambavcpkgNuGetapt-get其他手动配置 Visual studio 开发环境下载 visual studio基本配置基本测试:打开图片,打开摄像头读取图片读取…

STL中stack和queue模拟实现+容器适配器

目录 容器适配器 STL标准库中stack和queue的底层结构 deque的简单介绍 deque的缺陷 为什么选择deque作为stack和queue的底层默认容器 stack的模拟实现 queue的模拟实现 容器适配器 适配器是一种设计模式(设计模式是一套被反复使用的,多数人知晓…

吴谨言墨雨背后用真诚柱铸就爆款之路

吴谨言:墨雨背后,用真诚铸就爆款之路在繁华的娱乐圈,每一个成功的背后隐藏着不为人知的努力和汗水。而今天,我们要讲述的,正是这样一位用真诚和执着,一步步走向成功的演员——吴谨言。近日,一则…