如何比较本地git分支与其远程分支?

2023-05-16

如何查看本地分支和远程分支之间的diff


#1楼

第一种

git branch -a

获取可用分支列表。 在输出上你可能会看到类似的东西

* master
  remotes/main/master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/mt
  remotes/upstream/master
  remotes/upstream/mt

然后显示差异

git diff --stat --color remotes/main/master..origin/master
git diff remotes/main/master..origin/master

#2楼

要更新远程跟踪分支,您需要先键入git fetch然后:

git diff <masterbranch_path> <remotebranch_path>

你可以git branch -a列出所有分支机构(本地和远程)然后选择分支的名字从名单(只是删除remotes/远程分支的名字。

示例: git diff master origin/master (其中“master”是本地主分支,“origin / master”是远程,即origin和master分支。)


#3楼

git diff <local branch> <remote>/<remote branch>

例如git diff master origin/master ,或git diff featureA origin/next

当然, 曾经说过,你需要远程跟踪分支 git fetch第一; 并且您需要它以获得有关远程存储库中分支的最新信息。


#4楼

简单的方法:

git fetch
git log -p HEAD..FETCH_HEAD

这将首先从默认远程(原点)获取更改。 克隆repo时会自动创建。 你也可以是显式的: git fetch origin master

然后git log用于比较当前分支与刚刚获取的分支。 ( -p (生成补丁)选项显示了差异 。)


#5楼

让你的工作分支开发,并希望区分本地开发分支和远程开发分支,那种情况下,语法应该像git diff remotes/origin/development..development
要么

git fetch origin git diff origin/development


#6楼

如果您在某个分支上,并且想要将其与您正在跟踪的上游分支进行比较,请使用

git diff @{upstream}

由于这个答案 ,用于指定修订的git文档具有:

<branchname>@{upstream} ,例如master@{upstream}@{u}
对于branchname的后缀@{upstream} (简短形式<branchname>@{u} )是指由branchname指定的分支设置为在其上构建的branch.<name>.remote (使用branch.<name>.remotebranch.<name>.merge )。 缺少的branchname默认为当前的。


#7楼

如果你想看到区别只是改变了文件的名称,那么使用:

git diff --name-status <remote-branch> <local-branch>

否则这将显示两个分支之间的所有差异:

git diff <remote-branch> <local-branch>


#8楼

我就是这样做的。

#To update your local.
git fetch --all

这将从远程获取所有内容,因此当您检查差异时,它将比较远程分支的差异。

#to list all branches
git branch -a

上面的命令将显示所有分支。

#to go to the branch you want to check difference
git checkout <branch_name>
#to check on which branch you are in, use
git branch
    (or)
git status

现在,您可以按如下方式检查差异。

git diff origin/<branch_name>

这将比较您的本地分支与远程分支


#9楼

我知道这个问题已经有几个答案,但我在尝试大部分问题时遇到了一个奇怪的错误。

在我的情况下,我有一个名为heroku的第二个遥控器,它不是 origin ,因为它不同步我在尝试运行git diff master heroku/master时遇到了这个错误:

fatal: ambiguous argument 'heroku/master': unknown revision or path not in the working tree.

或尝试其他方法git diff master..heroku/master

fatal: bad revision 'master..heroku/master'

在我的情况下,解决方案在运行git diff之前明确提到了git fetch上的远程名称:

$ git fetch heroku
$ git diff master heroku/master

希望能帮助其他人解决同样的问题。


#10楼

git diff 'master' 'testlocalBranch'

如果你使用像webstorm这样的编辑器,你可以右键单击文件选择与分支比较并输入/选择你的分支。

在此输入图像描述

在此输入图像描述


#11楼

如果您要比较当前分支和想要git pull这是一个速记答案。

git fetch
git diff FETCH_HEAD

第一个命令将确定哪个远程分支对应于当前分支。 FETCH_HEAD参考中的计算工件。 然后第二个命令使用该引用比较与当前分支的比较。


#12楼

git difftool <commit> .

这将比较您想要的提交与本地文件。 不要忘记最后的点(对于本地)。

例如,要将本地文件与某些提交进行比较:

git difftool 1db1ef2490733c1877ad0fb5e8536d2935566341。

(并且您不需要git fetch,除非需要与新提交进行比较)


#13楼

tl; drgit diff <local branch> <remote branch>

在shell上使用git时,我喜欢首先通过环顾四周定位自己。 这是显示所有分支的命令

$ git branch -a  # (or git branch --all) 
* my-branch
  master
  remotes/origin/some-branch
  remotes/origin/HEAD -> origin/master
  remotes/origin/my-branch
  remotes/origin/some-other-branch
  remotes/origin/master

这里我有两个本地分支( my-branchmaster )和4个远程( some-branchsome-other-branchmastermy-branch )。

此外, my-branch旁边的星号表示我当前正在该分支中(您还可以通过使用将输出的命令git status来知道: On branch my-branch. )。

注意:git bash shell中的远程分支显示为红色,而本地显示为绿色。

如果您只想显示远程分支

$ git branch -r # (or git branch --remotes)
  origin/some-branch
  origin/HEAD -> origin/master
  origin/my-branch
  origin/some-other-branch
  origin/master

要显示本地分支,您可能会尝试使用git branch -l但这是一个完全不同的命令。显示本地分支,请使用没有选项的git branch

$ git branch
* my-branch 
  master

要完成的基本分支选项的审核还有的--list是违背你可能期望有什么好让过滤 。 使用这样的模式:

$ git branch --list 'my*'
* my-branch

您还可以将--list与选项-a-r结合使用,但请确保相应地调整您的模式( 请记住:远程分支以“遥控器”开头 )。 例:

# this will show all branches (local & remote) that start with my
$ git branch --list 'my*' -a
* my-branch

# better: the pattern includes the remote
$ git branch --list '*my*' -a
* my-branch
  remotes/origin/my-branch

文档: https : //git-scm.com/docs/git-branch

现在你可以比较所有可用的两个分支 (你也可以比较两个本地或两个遥控器)。

在这里我将本地与远程my-branch进行比较,它们是同步的,所以我没有得到任何输出:

$ git diff my-branch remotes/origin/my-branch

注意:您必须提供没有引号的分支的全名。

我还可以比较本地my-branch和远程master 。 这里我得到一些输出,因为远程my-branch尚未合并到主分支中。

$ git diff my-branch remotes/origin/master
diff --git a/src/controllers/call.controller.js b/src/controllers/call.controller.js
index fd79b98..df3d798 100644
--- a/src/controllers/call.controller.js
+++ b/src/controllers/call.controller.js
@@ -261,7 +261,7 @@ function callController() {
   /*
    *  Function: doCall
[ . . . ]

#14楼

建立

git config alias.udiff 'diff @{u}'

使用HEAD @ {upstream}扩散HEAD

git fetch  # Do this if you want to compare with the network state of upstream; if the current local state is enough, you can skip this
git udiff

与任意远程分支区分

这回答了你标题中的问题(“遥远的”); 如果要对“远程”(未配置为分支的上游)进行区分,则需要直接对其进行定位。 您可以使用以下内容查看所有远程分支:

git branch -r

您可以使用以下命令查看所有已配置的遥控器:

git remote show

您可以看到单个遥控器(例如原点)的分支/跟踪配置,如下所示:

git remote show origin

一旦确定了合适的原点分支,就做一个正常的差异:)

git diff [MY_LOCAL] MY_REMOTE_BRANCH


#15楼

我想知道我的分支是否有任何变化......

  1. 首先,你需要改变你的分支(如果你已经在这个分支下,你不需要这样做!)

git checkout master

  1. 您可以通过此命令查看在主分支下已修改的文件

git状态

  1. 列出分支机构

git branch -a


  • 遥控器/来源/主
  1. 找出差异

git diff origin / master


#16楼

这很简单。 您可以使用: git diff remote/my_topic_branch my_topic_branch

my_topic_branch是您的主题分支。


#17楼

我更了解输出:

git diff <remote-tracking branch> <local branch>

这告诉我什么将被删除,如果我推动本地分支将会添加什么。 当然它是相同的,只是反过来,但对我来说更具可读性,我更容易看到将要发生的事情。


#18楼

如果您使用TortoiseGit (它为Git提供GUI),您可以右键单击您的Git repo文件夹,然后单击Git Sync

如果未选择,您可以选择要比较的分支。 比你可以查看差异提交。 您也可以右键单击任何提交,然后Compare with previous revision进行Compare with previous revision并排查看差异。 togoise git sync来比较远程和本地分支


#19楼

假设您已将origin设置为远程存储库。 然后,

git diff <local branch> <origin>/<remote branch name>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何比较本地git分支与其远程分支? 的相关文章

  • Android学习之 Scroller的介绍与使用

    类概述 Android里Scroller类是为了实现View平滑滚动的一个Helper类 通常在自定义的View时使用 xff0c 在View中定义一个私有成员mScroller 61 new Scroller context 设置mScr
  • Android 从外部网页拉起跳转到App

    业务场景 当需要从外部第三方网页中通过点击某个链接或按钮启动App应用程序 实现 新建demo工程 xff0c 并实现一个Activity xff0c 用来接收从外部跳转传入的信息 代码如下 xff1a span class hljs ke
  • Android 使用ColorMatrix改变图片颜色

    ColorMatrix的颜色矩阵介绍 颜色矩阵M是一个5 4的矩阵 xff0c 在Android中 xff0c 颜色矩阵M是以一维数组m 61 a b c d e f g h i j k l m n o p q r s t 的方式进行存储的
  • 中断处理handler不能sleep

    1 进入中断处理程序 gt 2 保存关键上下文 gt 3 开中断 xff08 sti指令 xff09 gt 4 进入中断处理程序的handler gt 5 关中 里面很多说法不是很同意 个人认为中断处理handler不能sleep原因应该不
  • opencv移动物体追踪

    本次试验用的WINFORM 要先绘制窗体 xff0c 自己测试的时候注意对象名就可以了 public Form1 InitializeComponent static Mat mat1 61 new Mat 64 34 timg jpg 3
  • 2021-10-5 每天几个LCEDA小知识——放置探测点

    立创EDA专业版之放置探测点 放置探测点 放置探测点 在PCBA验证环节中 探测点是很重要的存在 试想一下 一个产品在生产测试的时候 没有预留探测点 用于产品的调试 那么作业人员只能用探头去勾元器件 何其难受 因此在设计PCB的过程中 预留
  • KairosDB 1.13安装手记

    PS xff1a 为了处理监控数据 xff0c 我们需要一个时间序列数据库 xff0c OpenTSDB是前驱 xff0c 但是是基于Hbase实现的 xff0c 后来有了一个基于Cassandra的实现 xff0c 就是KairosDB
  • FreeRTOS(V8.0.1)系统之vTaskDelete()

    lt pre name 61 34 code 34 class 61 34 objc 34 gt void vTaskDelete TaskHandle t xTaskToDelete TCB t pxTCB taskENTER CRITI
  • PX4 pixhawk 和APM2.X 的USB驱动都是不能够在 windows 7 、windows 8的ghost系统下自动安装(已解决)

    PX4 pixhawk 和APM2 X 的USB驱动都是不能够在 windows 7 windows 8的ghost系统下自动安装的 xff0c 因为这ghost系统精简了一些不该精简的东西 解决方法有两个 xff1a 一 重新装完整版的操
  • Mybatis-Plus

    一 Mybatis Plus简介 1 简介 MyBatis Plus opens new window xff08 简称 MP xff09 是一个 MyBatis opens new window 的增强工具 xff0c 在 MyBatis
  • Offboard Control

    1 将RC开关映射到场外模式激活 在QGroundControl中加载参数并查找RC MAP OFFB SW参数 xff0c 您可以为其分配要用于激活板外模式的RC通道2 2 启用配套计算机界面 设置默认的随播计算机消息流TELEM 2 x
  • 用java实现歌曲大串烧

    原理 xff1a 我们使用SequenceInputStream将FileInputStream对 象进行集体整合 xff0c 实现一个大的新文件 代码如下 xff1a span style font size 16px package c
  • slam小单元——位姿矩阵

    目录 位姿矩阵测试代码 这个系列是对slam中的一些小概念做理解和简单的测试 位姿矩阵 这个反应的是坐标系和坐标系之间的关系 xff0c 作用 xff1a 移动向量将一个坐标系下的向量 xff08 坐标 xff09 表达在另一个坐标系下 如
  • 裸模张筱雨出位真艺术(1)

    网页内容已不存在
  • 张筱雨本是害羞女孩有为何如此大胆?

    网页内容已不存在
  • 张筱雨:清纯妩媚の身体对话钢筋水泥建筑

    网页内容已不存在
  • 传统行业的IT如何转向DEVOPS,运维如何转向SRE

    题记 xff1a 在菊厂这几年 xff0c 亲历了传统行业的IT部门如何在数字化转型的滚滚洪流中 xff0c 被裹挟着四处寻找光明 从15年至今 xff0c 参加了各式各样的培训 xff0c 最早是CI CD xff0c 后来推DEVOPS
  • 张筱雨是摄影界最高境界神形兼备

    网页内容已不存在
  • 张筱雨的个人简历

    生平介绍 xff1a 2000年张筱雨9月 2003年7月吉林市实验中学2003年9月 人体艺术2007年7月华北大学 ent大胆er 张筱雨 凡本网注明 来源 xff1a 华龙网 的作品 xff0c 系由本网自行采人体艺术编 xff0c
  • 西瓜书笔记5:神经网络

    目录 5 1 神经元模型 5 2感知机与多层网络 感知机 感知机模型 感知机学习策略 感知机学习算法 多层网络 5 3 误差逆传播算法 标准BP 误差逆传播 算法 变量符号 公式推导 工作流程 累积BP算法 5 4全局最小与局部极小 跳出局

随机推荐