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

【瑞吉外卖】Git部分学习

Git简介

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

本地仓库:开发人员自己电脑上的Git仓库

远程仓库:远程服务器上的Git仓库

 commit:提交,将本地文件和版本信息保存到本地仓库

push:推送,将本地仓库和版本信息上传到远程仓库

pull:拉取,将远程仓库文件和版本信息下载到本地仓库

Git代码托管服务

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

github(地址:https://github.com/),是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名gitHub

码云(地址:https://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比GitHub,码云速度会更快

GitLab(地址:https://about.gitlab.com),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

BitBucket(地址:https://bitbucket.org/),是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

Git常用命令

Git全局设置

当安装Git后首先要做的事情是设置用户名称和email地址,这是非常重要的,因为每次Git提交都会使用该用户信息。

在Git命令行中执行下面命令:

设置用户信息:

git config --global user.name "itcast"

git config --global user.email "hello@itcast.cn"

查看配置信息

git config --list

获取Git仓库

要使用Git对我们的代码进行版本控制,首先需要获得Git仓库

获取Git仓库通常有两种方式:

在本地初始化一个Git仓库(不常用)

从远程仓库克隆(常用)

在本地初始化Git仓库:

1.在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库

2.进入这个目录中,点击右键打开Git bash窗口

3.执行命令git init

从远程仓库克隆:

        注意:仓库不能嵌套,从远程仓库克隆不需要git init

git clone [远程Git仓库地址]

工作区、暂存区、版本库 概念

版本库: .git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码

暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

Git工作区中文件的状态

Git工作区中的文件存在两种状态:

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

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

1)Unmodified 未修改状态

2)Modified 已修改状态

3)Staged 已暂存状态

注意:这些文件的状态会随着我们执行Git的命令发生变化

本地仓库命令

git status        查看文件状态

git add            将文件的修改加入暂存区

git reset          将暂存区的文件取消暂存或切换到指定版本

git commit      将暂存区的文件修改提交到版本库

git  log           查看日志

以创建文件demo.txt为例:

①创建

 ②添加至暂存区

③查看文件状态

④取消demo.txt的暂存

 ⑤再次查看文件状态

⑥提交文件demo.txt

        注意:必须要先将文件添加至暂存区才能提交

        提交文件语法: git commit -m "描述" 文件名

 ⑦修改文件内容以后再次查看文件状态

        注意:因为文件被修改而没有再次提交所以是红色modified

⑧ 再次提交文件

注意:再次将文件提交至暂存区,可以看见modified变为了绿色

 ⑨查看版本信息

 ⑩切换版本

        语法:git reset --hard 版本号

        注意:切换完版本可以观察文件内容是否对应改变

 远程仓库操作

git remote                查看远程仓库

git remote add        添加远程仓库

git clone                 从远程仓库克隆

git pull                    从远程仓库拉取

git push                  推送到远程仓库

 ①查看远程仓库

        git remote

        git remote -v        查看详细信息

②添加远程仓库

        git remote add <shortname> <url>

        添加远程仓库,运行 git remote add <shortname> <url>添加一个新的远程Git仓库,同时指定一个可以引用的简写

③克隆远程仓库到本地

Git克隆的时该Git仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件

命令:git clone [url]

④推送至远程仓库

一定要先提交到本地仓库,才能推送到远程仓库

语法:git push [remote-name] [branch-name]

⑤从远程仓库拉取

命令:git pull [short-name] [branch-name]

git pull命令的作用是从远程仓库获取最新版本并合并到本地仓库

注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories)

解决此问题可以在git pull命令后加入参数 --allow-unrelated-histories

分支操作

分支是Git使用过程中非常重要的概念,使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。

同一个仓库可以有多个分支,各个分支相互独立,互不干扰。

通过git init命令创建本地仓库时默认会创建一个master分支。

git branch                        查看分支

git branch [name]            创建分支

git checkout [name]        切换分支

git push [shorName] [name] 推送至远程仓库分支

git merge [name]                  合并分支

①查看分支

git branch        列出所有本地分支

git branch -f     列出所有远程分支

git branch -a    列出所有本地分支和远程分支

②创建新的分支

git branch [name]

③切换分支

④推送至远程仓库

git push [shortName] [name]

⑤合并分支

git merge [name]

合并分支冲突

背景:在master分支上修改demo.txt文件,增添语句“在master下修改文件”

           在fix分支上修改demo.txt文件,增添语句“在fix下修改文件”

          然后在master分支上合并fix分支

产生合并分支冲突:

解决办法:

第一步:打开产生合并冲突的文件:demo.txt

 第二步:手动处理文件

第三步:将处理好的文件提交

注意:手动处理好的文件需要提交,但是单个提交会报错“cannot do partial commit during a merge”,此时只需要在最后加上 -i 参数即可解决

第四步:推送至远程仓库

标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便地切换到标记时的状态。

比较有代表性的是人们会使用这个功能来标记发布节点(v1.0、v1.2等)

git tag                列出已有的标签

git tag [name]    创建标签

git push [shortName] [name]        将标签推送至远程仓库

git checkout -b [branch] [name]    检出标签

①创建标签

②列出已有的标签

③推送标签至远程仓库

④更新内容,再次推送标签

⑤检出标签

检出标签时需要新建一个分支来指向某个标签,检出标签的命令格式:

        git checkout -b [branch] [name]

注意:标签是静态的,相当于快照。打好标签以后,文件的内容就定格了,不会随着后来的push内容而改变。

在IDEA中使用Git

在IDEA中配置Git

在IDEA中使用Git,本质上还是使用本地安装的Git软件,所以需要在IDEA中配置Git

 

获取Git仓库

在IDEA中使用Git获取仓库有两种方式:

本地初始化仓库

从远程仓库克隆

本地初始化仓库:

        点击VCS--->创建Git仓库--->在弹出的路径中选择一个地方创建Git仓库

        VCS是版本控制的意思

从远程仓库克隆:

方法一:VCS--->在GitHub上共享项目

 

 

方法二:Git--->克隆--->输入URL

 

本地仓库操作

将文件加入暂存区

将暂存区的文件提交到版本库

查看日志

将文件加入暂存区:

选中文件--->右键--->Git--->添加

 

将暂存区的文件提交到版本库:

选中文件--->右键--->Git--->提交

输入message,然后点提交即可

 

注意,也可以用快捷键:

√ 是提交,点击√自动加入暂存区并提交

 

查看日志:

点击“显示历史记录”的图标即可查看历史记录

 

远程仓库操作

查看远程仓库

添加远程仓库

推送至远程仓库

从远程仓库拉取

查看远程仓库:

选中项目--->右键--->Git--->管理远程

添加远程仓库:点击“+”可以添加一个远程仓库,点击“-” 可以断开本地仓库和远程仓库的联系

 

推送至远程仓库和拉取远程仓库:

点击↗即可推送,点击↙即可拉取

 

 

分支操作

查看分支

创建分支

切换分支

将分支推送到远程仓库

合并分支

查看分支:

选中文件--->右键--->Git--->分支

 

 

也可以在IDEA右下角快速找到分支:

 

 创建分支:

点击“+”:创建新分支

 

切换分支:

点击你需要切换到的分支,然后点击签出

 

将分支推送至远程库:

        点击新建的分支,然后点击推送

 

合并分支:

 

 


Git部分到此结束~~

相关文章:

【瑞吉外卖】Git部分学习

Git简介 Git是一个分布式版本控制工具&#xff0c;通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件&#xff0c;Git仓库分为两种&#xff1a; 本地仓库&#xff1a;开发人员自己电脑上的Git仓库 远程仓库&#xff1a;远程服务器上的Git仓库…...

如何阐述自己做了一个什么样的东西

线上qps2000&#xff0c;主要的性能瓶颈在于出现在数据库I/O上。另外&#xff0c;如果是一个正常部署的容器&#xff0c;qps能达到几百就不错了。资讯服务现在做了静态的底层页&#xff0c;所以热点新闻多数会命中底层页&#xff0c;即便没有命中底层页&#xff0c;也会走多层的…...

TC3XX - MCAL知识点(二十二):QSPI 同步与异步 Mcal配置及代码实战

目录 1、MCAL配置 1.1、配置目标 1.2、同步QSPI配置 1.2.1、SpiGeneral 1.2.2、SpiMaxChannel 1.2.3、SpiMaxJob...

led台灯哪些牌子性价比高?推荐几款性价比高的护眼台灯

作为学龄期儿童的家长&#xff0c;最担心的就是孩子长时间学习影响视力健康。无论是上网课、写作业、玩桌游还是陪伴孩子读绘本&#xff0c;都需要一个足够明亮的照明环境&#xff0c;因此选购一款为孩子视力发展保驾护航的台灯非常重要。为大家推荐几款性价比高的护眼台灯。 …...

什么情况下容易发生锁表及如何处理

目录 什么情况下容易发生锁表发生锁表怎么解决 什么情况下容易发生锁表 在数据库中&#xff0c;当多个事务同时竞争访问同一个表的资源时&#xff0c;可能会发生锁表现象&#xff0c;导致性能下降甚至阻塞。以下情况容易导致锁表问题&#xff1a; 大事务操作&#xff1a;如果一…...

elk开启组件监控

elk开启组件监控 效果&#xff1a; logstash配置 /etc/logstash/logstash.yml rootnode1:~# grep -Ev "^#|^$" /etc/logstash/logstash.yml path.data: /var/lib/logstash path.logs: /var/log/logstash xpack.monitoring.enabled: true xpack.monitoring.elasti…...

Java Random 类的使用

Java中的Random类是用来生成伪随机数的工具类。它可以用来生成随机的整数、浮点数和布尔值。以下是Java Random类的一些常见用法&#xff1a; 创建Random对象&#xff1a; Random random new Random();生成随机整数&#xff1a; int randomNumber random.nextInt(); // 生…...

完美的分布式监控系统——Prometheus(普罗米修斯)与优雅的开源可视化平台——Grafana(格鲁夫娜)

一、基本概念 1、之间的关系 prometheus与grafana之间是相辅相成的关系。作为完美的分布式监控系统的Prometheus&#xff0c;就想布加迪威龙一样示例和动力强劲。在猛的车也少不了仪表盘来观察。于是优雅的可视化平台Grafana出现了。 简而言之Grafana作为可视化的平台&#xff…...

pycharm的Terminal中如何设置打开anaconda3的虚拟环境

在pycharm的File -> Settings -> Tools -> Terminal下面&#xff0c;如下图所示 修改为红框中内容&#xff0c;然后关闭终端在重新打开终端&#xff0c;即可看到anaconda3的虚拟环境就已经会被更新...

Jmeter(四) - 从入门到精通 - 创建网络测试计划(详解教程)

1.简介 在本节中&#xff0c;您将学习如何创建基本的 测试计划来测试网站。您将创建五个用户&#xff0c;这些用户将请求发送到JMeter网站上的两个页面。另外&#xff0c;您将告诉用户两次运行测试。因此&#xff0c;请求总数为&#xff08;5个用户&#xff09;x&#xff08;2…...

Flowable-结束事件-空结束事件

目录 定义图形标记XML内容 定义 空结束事件是最常见的一种结束事件&#xff0c;也是最简单的一种结束事件&#xff0c;只要把结束任务置于流程 或分支的最后节点&#xff0c;流程实例运行到该节点的时候&#xff0c;流程引擎就会结束该流程实例或分支。前面提 到&#xff0c;结…...

Elasticsearch:如何创建 Elasticsearch PEM 和/或 P12 证书?

你是否希望使用 SSL/TLS 证书来保护你的 Elasticsearch 部署&#xff1f; 在本文中&#xff0c;我们将指导你完成为 Elasticsearch 创建 PEM 和 P12 证书的过程。 这些证书在建立安全连接和确保 Elasticsearch 集群的完整性方面发挥着至关重要的作用。 友情提示&#xff1a;你可…...

数仓架构模型设计参考

1、数据技术架构 1.1、技术架构 1.2、数据分层 将数据仓库分为三层&#xff0c;自下而上为&#xff1a;数据引入层&#xff08;ODS&#xff0c;Operation Data Store&#xff09;、数据公共层&#xff08;CDM&#xff0c;Common Data Model&#xff09;和数据应用层&#xff…...

RedisTemplate.opsForGeo()用法简介并举例

RedisTemplate.opsForGeo()是RedisTemplate类提供的用于操作Geo类型&#xff08;地理位置&#xff09;的方法。它可以用于对Redis中的Geo数据结构进行各种操作&#xff0c;如添加地理位置、获取距离、获取位置信息等。 下面是一些常用的RedisTemplate.opsForGeo()方法及其用法…...

Android OkHttp源码分析--拦截器

拦截器责任链&#xff1a; OkHttp最核心的工作是在 getResponseWithInterceptorChain() 中进行&#xff0c;在进入这个方法分析之前&#xff0c;我们先来了 解什么是责任链模式&#xff0c;因为此方法就是利用的责任链模式完成一步步的请求。 拦截器流程&#xff1a; OkHtt…...

docker:如何传环境变量给entrypoint

使用shell,不带中括号 ENTRYPOINT .\main -web -c $CONFIGENTRYPOINT [sh, -c, ".\main -web -c $CONFIG"]docker build --build-arg ENVIROMENTintegration // 覆盖ENTRYPOINT命令 使用shell脚本 ENTRYPOINT ["./entrypoint.sh"]entrypoint.sh 镜像是a…...

kuboard安装和使用

windows平台下使用docker和docker-compose部署Kuboard&#xff0c;并添加Docker Desktop for windows的k8s单机集群 使用docker安装 docker run -d \--restartunless-stopped \--namekuboard \-p 80:80/tcp \-p 10081:10081/tcp \-e KUBOARD_ENDPOINT"http://内网IP:80&…...

海外直播种草短视频购物网站巴西独立站搭建

一、市场调研 在搭建网站之前&#xff0c;需要进行充分的市场调研&#xff0c;了解巴西市场的消费者需求、购物习惯和竞争情况。可以通过以下途径进行市场调研&#xff1a; 调查问卷&#xff1a;可以在巴西市场上发放调查问卷&#xff0c;了解消费者的购物习惯、偏好、购买力…...

C#图像均值和方差计算实例

本文展示图像均值和方差计算实例,分别实现RGB图像和8位单通道图像的计算方法 实现代码如下: #region 方法 RGB图像均值 直接操作内存快/// <summary>/// 定义RGB图像均值函数/// </summary>/// <param name="bmp"></param>/// <retur…...

【动态规划】数字三角形

算法提高课课堂笔记。 文章目录 摘花生题意思路代码 最低通行费题意思路代码 方格取数题意思路代码 摘花生 题目链接 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图)&#xff0c;从西北角进去&#xff0c;东南角出来。 地里每个道…...

【C++】开源:ceres和g2o非线性优化库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍ceres和g2o非线性优化库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&…...

OCR学习

...

《练习100》56~60

题目56 M 5 a [1, 2, 3, 4, 5] i 1 j M - 1 while i < M:# print(f"第{i1}轮交换前&#xff1a;i {i}, j {j} , a[{i}] {a[i]} , a[{j}] {a[j]}")a[i], a[j] a[j], a[i]# print(f"第{i1}轮交换后&#xff1a;i {i}, j {j} , a[{i}] {a[i]} , a[…...

基于大数据为底层好用准确性高的竞彩足球比分预测进球数分析软件介绍推荐

大数据与贝叶斯理论在足球比赛分析与预测中的应用 随着科技的不断进步&#xff0c;大数据分析在各个领域的应用也越来越广泛&#xff0c;其中包括体育竞技。足球比赛作为全球最受欢迎的运动之一&#xff0c;也借助大数据和贝叶斯理论来进行模型分析和预测。本文将通过结合贝叶…...

Django进阶

1.orm 1.1 基本操作 orm&#xff0c;关系对象映射。 类 --> SQL --> 表 对象 --> SQL --> 数据特点&#xff1a;开发效率高、执行效率低&#xff08; 程序写的垃圾SQL &#xff09;。 编写ORM操作的步骤&#xff1a; settings.py&#xff0c;连…...

Linux系统服务管理

服务命令比较 操作 Linux 6 Linux7 服务开机自动启动 chkconfig --level 35 iptables on systemctl enable firewalld.service 服务器开机不自动启动 chkconfig --level 35 iptables off systemctl disable firewalld.service 加入自定义服务 chkconfig --add aaa s…...

C#之控制台版本得贪吃蛇

贪吃蛇小时候大家都玩过&#xff0c;具体步骤如下: 1.给游戏制造一个有限得空间。 2.生成墙壁&#xff0c;小蛇碰撞到墙壁或者咬到自己的尾巴&#xff0c;游戏结束。 3.生成随机的食物。 4.吃掉食物&#xff0c;增加自身的体长&#xff0c;并生成新的食物。 具体代码如下&…...

ffplay数据结构分析(一)

本文为相关课程的学习记录&#xff0c;相关分析均来源于课程的讲解&#xff0c;主要学习音视频相关的操作&#xff0c;对字幕的处理不做分析 下面我们对ffplay的相关数据结构进行分析&#xff0c;本章主要是对PacketQueue的讲解 struct MyAVPacketList和PacketQueue队列 ffp…...

JavaWeb学习|JSP相关内容

1.什么是JSP Java Server Pages: Java服务器端页面&#xff0c;也和Servlet一样&#xff0c;用于动态Web技术! 最大的特点: 。写JSP就像在写HTML 。区别: 。HTML只给用户提供静态的数据 。JSP页面中可以嵌入JAVA代码&#xff0c;为用户提供动态数据 JSP最终也会被转换成为一…...

Springboot后端通过路径映射获取本机图片资源

项目场景&#xff1a; 项目中对图片的处理与查看是必不可少的&#xff0c;本文将讲解如何通过项目路径来获取到本机电脑的图片资源 如图所示&#xff0c;在我的本机D盘的图片测试文件夹(文件夹名字不要有中文)下有一些图片&#xff0c; 我们要在浏览器上访问到这些图片&#…...

佛山 做网站公司有哪些/郑州seo外包公司哪家好

问题 Charles是Mac上面知名的代理软件&#xff0c;类似Windows上面的fiddler。在调试CDN的过程中&#xff0c;需要远程调试某个地区的节点&#xff0c;就只能使用代理服务区进行访问调试。但是这个过程中同时需要Charles对CDN的客户端进行抓包处理&#xff0c;但同时有需要一个…...

网站不维护会怎么样/seo搜索引擎优化求职简历

HTML抓取我的身份验证详细信息的网站所以我使用以下代码来获取特定网址的html源代码&#xff1a;import java.io.*;import java.net.*;public class SourceViewer {public static void main (String[] args) throws IOException{System.out.print("Enter url of local for…...

中山网站建设价位/搜狗搜图

今天进行了我的微博研究&#xff1a;当其他人在发我时&#xff0c;将他的微博保存到“我”界面。单击我后显示所有我的微博。要在微博首页单击顶部菜单栏“信封图标”下“我的”&#xff0c;才能进入我界面。转载于:https://www.cnblogs.com/gaoemm/p/10242171.html...

免费网站建设公司推荐/优化营商环境

author YHC 这个教程向你展示如何附加节点到tree,我们将创建一个食品tree包含水果和蔬菜节点,然后添加一些其他水果到已存在的水果节点. 创建 foods(食品) tree 首先,我们创建食品树,代码就像这样. <div style"width:200px;height:auto;border:1px solid #ccc;"&…...

广州网站建设大公司/个人博客网页设计

pc l_ range_image 库中包含两个表达深度图像和对深度图 像进行操作的类,其依赖于 pcl: : common 模块; class pcl : : Rangelmage RangeImage 类继承于 PointCloud ,主要功能是实现从一个特定视点得到的一个三维场景的深度图像 。 其继承关系如图所示 : 类 Rangelmage 关…...

中资源 网站域名解析/无线网络优化

1 部署apache2 cmd sudo apt-get install apache2validate localhost2 apache2 Usage 2.1 启动 apache2默认监听80端口&#xff0c;启动后输入&#xff1a;localhost即可获取Home信息&#xff0c;如下图。 sudo service apache2 start图1 启动成功 启动 sudo service ap…...