小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

git merge、git pull和git fetch

# Git,git,github,gitee 额外说明

收录于:17天前

在这里插入图片描述

git merge 合并分支,将目标分支合并到当前分支

git fetch  更新远端分支,但不会merge到本地

git pull   更新远端分支并merge到本地

git pull = git fecth + git merge

merge的意思为“合并”,git merge命令是用于将分支合并在一起的操作,就是将目标分支合并到当前分支。

git fetch

git fetch用于更新分支,在一段内其他开发者新建了其他分支,使用该命令将分支信息重新拉取到本地。如下

在gitee上创建了一个xiaoxu的分支
在这里插入图片描述

但是查看远程分支还是只有master分支,这是由于该次分支查询是上一次的缓存,而最新的分支信息未更新。
在这里插入图片描述

使用 git fetch 命令更新分支。最新分店信息更新如下

在这里插入图片描述

对远程仓库分支的所有更新都将在本地检索,无需对代码进行任何更改。对本地开发代码没有影响:

git fetch <远程主机名>

您还可以更新指定的分支,如下所示:

git fetch <远程主机名> <分支名>

在本地新建xiaoxu分支,并将远程源站仓库的master分支代码下载到本地xiaoxu分支:

# git fetch也可以下载远程分支到本地分支
# 在本地新建一个xiaoxu分支,并将远程origin仓库的master分支代码下载到本地xiaoxu分支

git fetch origin master:xiaoxu

git fetch 仅用于更新分支信息,不会更改代码。它对本地分支上的代码没有影响。

git merge

在 Git 中,合并是加入分叉历史的过程。它将两个或多个发展历史连接在一起。 git merge 命令可以帮助你将 git 分支创建的数据集成到一个分支中。

git merge 命令用于合并分支。该命令的语法如下:

git merge <query>

该命令会将指定的内容合并到当前分支中。命令的参数可以是提交内容的ID,也可以是某个分支的名称。当为ID时,提交的内容合并到当前分支中。当为分支名称时,指定的分支将合并到当前活动的分支中。在树枝上。

在这里插入图片描述

git的设计模式merge冲突

Git 是协作的,这意味着任何成员都可以创建自己的分支并提交代码。如果要合并的两个分支都修改了同一个文件的相同部分,Git 无法确定应该使用哪个版本的内容,需要人工干预才能继续合并。这样的设计原则更有利于尺寸码的安全。

提交代码时如何避免和解决冲突?

  1. git status命令查看当前分支的状态,确保HEAD指正指向的是正确的接收合并的分支。如果不是,执行git checkout命令切换到正确的分支。
  2. 确保合并操作涉及的两个分支都更新到远程仓库的最新状态。执行git fetch拉取远程仓库的最新提交。
  3. 在编写代码是执行git merge命令,将代码融合到主分支上,确保提交内容都是最新内容。(2,3可以直接用git pull代替)

即使采取了上述步骤,协作开发过程中仍然会遇到冲突,需要人为干预来解决冲突。

在这里插入图片描述

在本地模拟冲突,在主分支的基础上创建一个新分支,修改两个分支中相同的内容,并将主分支提交到远程仓库。如果在本地切换分支,会遇到git推送冲突的情况。

  1. 执行git status命令查看是否存在冲突

如果出现类似下面的输出,则说明当前文件存在冲突

On branch master

You have unmerged paths.

  (fix conflicts and run "git commit")
  • 查看冲突内容,当Git在合并过程中碰到了冲突,它会编辑受影响的文件中的相关内容,并添加视觉标记用以展示冲突中双方在此部分的不同内容。
    git diff --name-only --diff-filter=U

其中--name-only参数表示只显示文件名,--diff-filter=U 参数表示显示冲突文件。

<<<<<<< HEAD

这里是本地修改的内容

=======

这里是远程修改的内容

>>>>>>> branch_name

======= 之前表示本地修改的内容,之后表示远程修改的内容。

找到本地仓库中对应文件的对应位置,根据实际情况选择保留或者手动合并哪一部分。合并完成后,再次提交更改以解决冲突。

更多git命令移步极客教程 git 教程

. . .

相关推荐

额外说明

TINA-TI仿真软件使用教程

以软件自带例子为例分析如下: 文件->打开例子 Examples->Precision Low Noise Amplifier 300kHz 80dB Gain.TSC 该电路为两级同相放大电路,每一级的放大倍数为1+(1000/10.1)=100倍,即

额外说明

LINUX03_磁盘状态查询、ps -ef、centos7查看服务、netstat查看网络、grep、重定向、管道、yum、用户权限

文章目录 ①. 磁盘情况查询 ②. 网络配置类 ifconfig ③. ps -aux、ps -ef、kill -9 ④. centos7服务查看 ⑤. netstat 查看系统的网络情况 ⑥. grep命令 ⑦. 重定向输出>和>> ⑧. 管道 ⑨.

额外说明

day18---(03)Springcloud组件gateway网关

1、网关简介 2、GateWay介绍 (1)gateway是SptingCloud组件,用于网关操作 (2)基本概念 路由、断言、过滤器 (3)网关基于filter实现,很多过滤器,组成了过滤链 3、gateway网关使用 (1)创建网关服务 (2)在网

额外说明

普中51-单核-A2单片机

普中51 - 普中51 功能与使用 介绍 功能模块 CMOS是Complementary Metal Oxide Semiconductor(互补金属氧化物半导体) 通常 汉字有 16*16 个像素点 P2 51单片机介绍(一) 基础 第二功能 P3 5

额外说明

【题解】两数相加

题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 输入:l1

额外说明

docker-compose环境下安装Elasticsearch7集群实战讲解

1. 安装环境前提: docker 环境 docker-compose 工具 备注:基础不好的同学请先了解docker相关内容,否则理解上可能有难度 2. 创建文件docker-compose.yml,然后放入下面的内容 version: '3' ser

额外说明

python3.6集成xadmin

在python3.6的版本下直接使用pip install xadmin总是不成功,从网上也找了些资料,现在自己总结下 一、开发环境 1、window10 2、python3.6 3、django1.11 二、具体步骤 1、去github上搜索xadmi

额外说明

毕业生,管好你的档案和户口

http://www.hf365.com 2007年5月22日 10:12 合肥晚报 现 如今,越来越多的大学生在非公有制企业就业,这些企业不需要学生的档案,也没有管理人事档案的权限,同时,也不能帮学生解决户籍问题,导致大学生毕业时不 关心自己的档案和户

额外说明

关于template的作用

1.概述 template:模板 即提供一种模板标准。在C++中最重要的特征之一就是代码重用,为了实现代码的重用,代码需要具有通用性,就不受数据类型的影响,所以说template就是解决此问题的。。直白点就是用T来代替任意类型。类似重载。但模板在编译时不

额外说明

注册与登录中相关字段格式的正则表达式验证

1.验证用户名 let reg = /^[a-zA-Z0-9\u4E00-\u9FA5]{2,6}$/; //可输入2-6位的大小写字母、数字和文字 2.验证密码 let reg = /^\d{6}$/; //表示密码格式为6位数字 3.验证邮箱格式

ads via 小工具