Git获取本地分支对应的远端服务器分支名的方法

可以使用下面命令查看本地分支在远端服务器的分支名:

$ git rev-parse --abbrev-ref local_branch_name@{upstream}

把 local_branch_name 换成要查询的本地分支名,例如 master 等。下面通过例子来说明这个命令各个参数的含义。

先创建一个新的本地分支,名为 new_local_branch,关连到远端服务器的 Remote_Branch_U 分支:

$ git checkout -b new_local_branch aosp/Remote_Branch_U
Branch new_local_branch set up to track remote branch Remote_Branch_U from aosp.
Switched to a new branch 'new_local_branch'

查看本地分支 new_local_branch 在远端服务器的分支名:

$ git rev-parse --abbrev-ref new_local_branch@{upstream}
aosp/Remote_Branch_U

如果所给的本地分支名没有关连到远端服务器分支,会打印报错信息:

$ git rev-parse --abbrev-ref great@{upstream}
fatal: No upstream configured for branch 'great'

注意:@{upstream} 这一整串本身是命令的一部分,直接输入即可,不是要把 upstream 或者
{upstream} 替换成远端服务器仓库名。查看 man git-rev-parse 有如下说明:

<branchname>@{upstream}, e.g. master@{upstream}, @{u}
The suffix @{upstream} to a branchname (short form <branchname>@{u}) refers to the branch that the branch specified by branchname is set to build on top of. A missing branchname defaults to the current one.

即,@{upstream} 可以缩写为 @{u}。如果不提供分支名,默认用当前本地分支名。
另外,如果不加 --abbrev-ref 选项,会打印分支head的hash值,而不是打印分支名。

$ git rev-parse --abbrev-ref new_local_branch@{u}
aosp/Remote_Branch_U
$ git rev-parse --abbrev-ref @{u}
aosp/Remote_Branch_U
$ git rev-parse @{u}
66355f171f5ba7dbc66465e761b97afe2395b06e

这个命令可在shell脚本中自动获取到远端服务器分支名,而不是只能用默认值、或者要手动输入分支名,方便自动化处理。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Git 教程之分支管理详解

    Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 有人把 Git 的分支模型称为"必杀技特性",而正是因为它,将 Git 从版本控制系统家族里区分出来. 创建分支命令: git branch (branchname) 切换分支命令: git checkout (branchname) 当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录. 合并分

  • git分支管理_动力节点Java学院整理

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你

  • git 删除分支和回滚的实例详解

    git 删除分支和回滚的实例详解 [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除 git reset --hard HEAD~3:将最近3次的提交回滚 [远程代码

  • 将git项目导入GitHub的方法(附创建分支)

    前言:我们应该很多都会有自己的私有项目,大多情况都是存放在自己的硬盘中,今天我分享一下怎么讲自己的私有项目更新到GitHub上,这样再也不用担心项目丢失了. 一:下载git 下载链接git链接,根据自己情况选择,我是Windows上开发的所以选择的是win. 二:生成.ssh 下载git安装以后了我们右键单击桌面选择Git Bash Here就会出现了一个git的界面. 输入cd ~/.ssh 查看是否已经有ssh密匙,如果没有密匙则不会有这个文件夹,有则备份然后删除 生成密匙:ssh-keyg

  • Git 创建分支提交远程分支详解

    Git 创建分支提交远程分支详解 1.创建本地分支 git branch 分支名,例如:git branch 2.0.1.20120806 注:2.0.1.20120806是分支名称,可以随便定义. 2.切换本地分支 git checkout 分支名,例如从master切换到分支:git checkout 2.0.1.20120806 3.远程分支就是本地分支push到服务器上.比如master就是一个最典型的远程分支(默认). git push origin 2.0.1.20120806 4.

  • 浅谈Git分支管理策略

    如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件,Git有很多优点.其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便.有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用. 但是,太方便了也会产生副作用.如果你不加注意,很可能

  • Git 详细介绍查看、删除、重命名远程分支和tag

    Git 详细介绍查看.删除.重命名远程分支和tag 1. 查看远程 分支加上-a参数可以查看远程分支,远程分支会用红色表示出来: xiaosi@Qunar:~/code/qtown-score$ git branch -a FRESH-1606_qscore-20160503 * dev master remotes/origin/20151225-qtown-score-FRESH-1236 remotes/origin/2016-2qtscore remotes/origin/FRESH-1

  • git分支的创建、切换、合并及删除操作小结

    一.查看现存分支 查看现存分支 : git branch命令; git branch 从结果可以看出, 现在只有一个分支master; 二.创建分支 创建分支 : git branch 分之名称, 就可以创建一个分支, 创建完分支以后可以查看分支, 当前使用的分支会显示成为绿色, 前面带有 "*" , 如果不是当前使用的分支, 显示的是白色, 并且没有 "*" 前缀; git branch branch1 三.切换分支 切换分支 : git checkout 分支名

  • git分支(branch)操作相关命令及分支命令的使用

    分支(branch)操作相关命令 查看本地分支:$ git branch 查看远程分支:$ git branch -r 创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支 切换分支:$ git checkout [name] 创建新分支并立即切换到新分支:$ git checkout -b [name] 删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的.如果想强

  • Git获取本地分支对应的远端服务器分支名的方法

    可以使用下面命令查看本地分支在远端服务器的分支名: $ git rev-parse --abbrev-ref local_branch_name@{upstream} 把 local_branch_name 换成要查询的本地分支名,例如 master 等.下面通过例子来说明这个命令各个参数的含义. 先创建一个新的本地分支,名为 new_local_branch,关连到远端服务器的 Remote_Branch_U 分支: $ git checkout -b new_local_branch aos

  • Git获取本地仓库及基础操作指令总结

    目录 一.Git获取本地仓库 二.Git基础操作指令 1.查看修改的状态(status) 2.添加工作区到暂存区(add) 3.提交暂存区到本地仓库(commit) 4.查看提交日志(log) 5.版本回退 6.添加文件至忽略列表 知识点补充 一.Git获取本地仓库 要使用Git对我们的代码进行版本控制,首先需要获得本地仓库 1.在电脑任意的磁盘位置创建一个空目录(例如test)作为我们的本地Git仓库 2.进入这个目录中,点击右键打开Git bash窗口 3.执行命令git init 4.如果

  • git push 本地项目推送到远程分支的方法(git命令版)

    1.在本地建立项目  可使用Eclipse,Idea等开发工具创建项目 打开根目录到所在在工程名的下一级 2.使用git 客户端 进入到上图目录HelloWord的文件夹里面 3.初始化项目 git init 4.HelloWord工程结构的添加 命令 git add -A 5.提交git到版本 -m是提交的注释 git commit -m "这是注释:初始化项目" 6.远程git建立好项目 7.配置远程仓库  origin是远程仓库的别名 代替xxx.git的地址 git remot

  • 新版vue-cli模板下本地开发环境使用node服务器跨域的方法

    背景 我们都知道浏览器有一个既核心也最基本的安全功能,即同源策略.同源分别是:协议,域名,端口.如果浏览器访问服务器不同源的话,就会访问不到数据.那开发中常常访问的服务器不同源,那么可以借助一个服务器当做中介来访问需要访问的服务器从而获得数据.因为同源策略是浏览器的安全机制,而服务器之间是不受此限制的.之前vue-cli模板build文件夹下有dev-serve.js文件,可以在此文件中配置本地node服务器实现跨域,现在的模板下没有此文件,那我们该如何使用node跨域呢?不逼逼,上方法. 具体

  • git 将本地文件(夹)上传到gitee指定分支的处理方法

    gitee的指定分支 想上传的本地文件夹为C#learning 下面为使用git将这个C#learning上传到项目的example的方法 1.在forup这个文件夹的空白处:鼠标右键 然后选择 Git Bash Here 2.本地仓库初始化,会在此处生成.vs隐藏文件夹 git init 3.其中http://xxxxx.git指gitee处的http(注意结尾有.git) git remote add origin http://xxxxx.git 4.远程仓库与本地仓库同步 其中examp

  • 详解Git建立本地仓库的两种方法

    Git是一种分布式版本控制系统,通常这类系统都可以与若干远端代码进行交互.Git项目具有三个主要部分:工作区,暂存目录,暂存区,本地目录: 安装完Git后,要做的第一件事,就是设置用户名和邮件地址.每个Git提交都使用此信息,并且将它永久地烘焙到您开始创建的提交中: $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com 之后我们可以建立一个本地仓库.

  • 详解vue中使用express+fetch获取本地json文件

    自己在做个vue小demo的时候,想模拟从服务器获取json数据的过程,一开始的想法是使用fetch直接获取本地的json文件,无论是install了json-loader还是把json文件放在index.html的目录下或webpck.config.js里output的目录下,但是fetch一直报找不到文件.然后决定用fetch向express服务器发送请求,由服务器返回json数据. express服务器 先写一个简单的express服务器,只有一个接口,起到示例作用就行了.back.js如

  • linux socket通讯获取本地的源端口号的实现方法

    关于TCP IP网络通讯的资料非常多,TCP IP通过IP数据包模式进行端对端通讯.典型的TCP数据包如下 可以看到数据包包含了源端口号和目的端口号,客户端socket向服务端发起连接时,系统会给socket随机分配一个源端口号,我们可以通过getsocketname来获取连接成功的socket的原端口信息. 函数原型 #include <sys/socket.h> int getsockname(int sockfd, struct sockaddr *addr, socklen_t *ad

  • jQuery+jsp下拉框联动获取本地数据的方法(附源码)

    本文实例讲述了jQuery+jsp下拉框联动获取本地数据的方法.分享给大家供大家参考,具体如下: JQuery下拉框联动很好的体现了Ajax的按需取数据的要求,减小数据的交互量.(点击此处下载源代码) 下面的实例使用Json将服务器端的类或者对象转换为JSON格式,主要运用了6个jar包 commons-beanutils-1.7.0.jar commons-collections-3.2.jar commons-lang-2.3.jar commons-logging-1.0.4.jar ez

  • python利用标准库如何获取本地IP示例详解

    标准库 Python拥有一个强大的标准库.Python语言的核心只包含数字.字符串.列表.字典.文件等常见类型和函数,而由Python标准库提供了系统管理.网络通信.文本处理.数据库接口.图形系统.XML处理等额外的功能. Python标准库的主要功能有: 1.文本处理,包含文本格式化.正则表达式匹配.文本差异计算与合并.Unicode支持,二进制数据处理等功能 2.文件处理,包含文件操作.创建临时文件.文件压缩与归档.操作配置文件等功能 3.操作系统功能,包含线程与进程支持.IO复用.日期与时

随机推荐