精华内容
下载资源
问答
  • 2018-03-16 11:06:48

    git 获取当前分支名

    git symbolic-ref --short -q HEAD

    参考链接
    https://stackoverflow.com/questions/6245570/how-to-get-the-current-branch-name-in-git

    更多相关内容
  • 节点git当前分支 使用Node.js获取当前的git分支名称 安装 npm install node-git-current-branch --save 用法 const getCurrentBranchName = require ( 'node-git-current-branch' ) ; getCurrentBranchName ( ) ; //...
  • GIT 获取当前git分支名的方法

    千次阅读 2020-07-02 14:40:47
    1 git branch | grep "*" 2 git symbolic-ref --short -q HEAD

    1

    git branch | grep "*"

    2

    git symbolic-ref --short -q HEAD
    

    展开全文
  • 主要介绍了Git获取本地分支对应的远端服务器分支名的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 文章目录webhook给jenkins发了什么找对分支名了吗第一种方法调整分支第二种方法调整分支感谢 webhook给jenkins发了什么 gitlab触发jenkins的job是通过webhook完成的,也就是一次http请求,请求体在jenkins的job的...
  • git 获得当前分支名及其对应的远程分支 git symbolic-ref -q --short HEADgit rev-parse --abbrev-ref --symbolic-full-name @{u} 获得某个分支所对应的远程分支: git rev-parse --abbrev-ref master@{upstream}...

    git 获得当前分支名及其对应的远程分支

    git symbolic-ref -q --short HEAD
    git rev-parse --abbrev-ref --symbolic-full-name @{u}

    获得某个分支所对应的远程分支:

    git rev-parse --abbrev-ref master@{upstream}

    注意:@{u} 是 @{upstream} 的简写

     
     
     

    转载于:https://www.cnblogs.com/ibingshan/p/11162400.html

    展开全文
  • 如何在Git中获取当前分支名称?

    千次阅读 2020-01-07 09:10:16
    我来自Subversion的背景,当我有一个分支时,我知道我正在使用“这些工作文件指向此分支”的内容。 但是使用Git时,我不确定在NetBeans或Notepad ++中编辑文件时,是将文

    我来自Subversion的背景,当我有一个分支时,我知道我正在使用“这些工作文件指向此分支”的内容。

    但是使用Git时,我不确定在NetBeans或Notepad ++中编辑文件时,是将文件绑定到主文件还是其他分支。

    bash中的git没问题,它告诉我我在做什么。


    #1楼

    好简单,我把它放在一根衬里(bash)

    git branch | sed -n '/\* /s///p'
    

    (信用:有限赎罪)

    当我在那里的时候,一个班轮去了远程跟踪分支机构(如果有的话)

    git rev-parse --symbolic-full-name --abbrev-ref @{u}
    

    #2楼

    您还可以使用git symbolic-ref HEAD来显示完整的refspec。

    在Git v1.8及更高版本中仅显示分支名称(感谢Greg指出):

    $ git symbolic-ref --short HEAD
    

    在Git v1.7 +上,您还可以执行以下操作:

    $ git rev-parse --abbrev-ref HEAD
    

    如果您在分支机构上,则两者都应使用相同的分支机构名称。 如果您是一个超脱的人,答案会有所不同。

    注意:

    在较早的客户端上,这似乎可行:

     $ git symbolic-ref HEAD | sed -e "s/^refs\\/heads\\///" 

    达里安2014年3月26日


    #3楼

    在Netbeans中,确保已启用版本注释(查看->显示版本标签)。 然后,您可以在项目名称旁边看到分支名称。

    http://netbeans.org/bugzilla/show_bug.cgi?id=213582


    #4楼

    要显示当前所在的分支,而未列出其他分支,可以执行以下操作:

    git rev-parse --abbrev-ref HEAD
    

    参考:


    #5楼

    那这个呢?

    { git symbolic-ref HEAD 2> /dev/null || git rev-parse --short HEAD 2> /dev/null } | sed "s#refs/heads/##"
    

    #6楼

    git symbolic-ref -q --short HEAD
    

    我在需要当前分支名称的脚本中使用它。 它将向您显示当前对HEAD的简短符号引用,这将是您当前的分支名称。


    #7楼

    供我自己参考(但可能对其他人有用),我对该线程中提到的大多数(基本命令行)技术进行了概述,每种技术都适用于几种用例:HEAD(指向):

    • 当地分公司(主管)
    • 远程跟踪分支,与本地分支同步(源/主机与主机相同的提交)
    • 远程跟踪分支,与本地分支不同步(origin / feature-foo)
    • 标签(v1.2.3)
    • 子模块(在子模块目录中运行)
    • 一般独立头(以上均无)

    结果:

    • git branch | sed -n '/\\* /s///p'
      • 本地分支: master
      • 远程跟踪分支(同步):( (detached from origin/master)
      • 远程跟踪分支(不同步):( (detached from origin/feature-foo)
      • 标签:( (detached from v1.2.3)
      • 子模块: (HEAD detached at 285f294)
      • 一般分离头:( (detached from 285f294)
    • git status | head -1
      • 本地分支机构: # On branch master
      • 远程跟踪分支(同步): # HEAD detached at origin/master
      • 远程跟踪分支(不同步): # HEAD detached at origin/feature-foo
      • 标签: # HEAD detached at v1.2.3
      • 子模块: # HEAD detached at 285f294
      • 一般独立头: # HEAD detached at 285f294
    • git describe --all
      • 本地分支机构: heads/master
      • 远程跟踪分支(同步): heads/master (注意: 不是 remotes/origin/master
      • 远程跟踪分支(不同步): remotes/origin/feature-foo
      • 标签: v1.2.3
      • 子模块: remotes/origin/HEAD
      • 通用分离头: v1.0.6-5-g2393761
    • cat .git/HEAD
      • 本地分支: ref: refs/heads/master
      • 子模块: cat: .git/HEAD: Not a directory
      • 所有其他用例:对应提交的SHA
    • git rev-parse --abbrev-ref HEAD
      • 本地分支: master
      • 所有其他用例: HEAD
    • git symbolic-ref --short HEAD
      • 本地分支: master
      • 所有其他用例: fatal: ref HEAD is not a symbolic ref

    (仅供参考,这是使用git版本1.8.3.1完成的)


    #8楼

    找到了与Oliver Refalo一样长的命令行解决方案,使用了很好的awk:

    git branch | awk '/^\*/{print $2}'
    

    awk读取为“在与正则表达式匹配的行上执行{}的内容”。 默认情况下,它采用空格分隔的字段,因此您打印第二个。 如果可以假定只有分支所在的行带有*,则可以删除^。 啊,打高尔夫球!


    #9楼

    您还可以使用如下所示的GIT_BRANCH变量: https ://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

    git插件设置了几个可以在脚本中使用的环境变量:

    GIT_COMMIT-当前的SHA

    GIT_BRANCH-当前正在使用的分支的名称,例如“ master”或“ origin / foo”

    GIT_PREVIOUS_COMMIT-来自同一分支的先前构建提交的SHA(当前在第一个构建分支中的SHA)

    GIT_URL-存储库远程URL

    GIT_URL_N-存在多个远程目录时的存储库远程URL,例如GIT_URL_1,GIT_URL_2

    GIT_AUTHOR_EMAIL-提交人/作者的电子邮件

    GIT_COMMITTER_EMAIL-提交人/作者的电子邮件


    #10楼

    随着时间的流逝,我们的分支机构列表可能会很长。

    尽管其他一些解决方案也很棒,但是这是我的工作(从Jacob的回答中简化):

    git branch | grep \*
    

    现在,

    git status
    

    工作,但如果有任何局部变化


    #11楼

    如果您确实希望以分离的HEAD状态签出最后一个分支/标记。

    git reflog HEAD | grep 'checkout:' | head -1 | rev | cut -d' ' -f1 | rev
    

    更新如果您有并且不害怕awk,这会更好。

    git reflog HEAD | grep 'checkout:' | head -1 | awk '{print $NF}'
    

    #12楼

    我知道这很晚,但是在linux / mac上,可以从终端使用以下命令。

    git status | sed -n 1p
    

    说明:

    git status->获取工作树状态
    sed -n 1p->从状态正文中获取第一行

    对以上命令的响应如下所示:

    "On branch your_branch_name"
    

    #13楼

    另一种选择:

    git name-rev --name-only HEAD
    

    #14楼

    抱歉,这是另一个命令行答案,但是当我找到这个问题时,这就是我想要的东西,其中许多答案都很有帮助。 我的解决方案是以下bash shell函数:

    get_branch () {
        git rev-parse --abbrev-ref HEAD | grep -v HEAD || \
        git describe --exact-match HEAD 2> /dev/null || \
        git rev-parse HEAD
    }
    

    这应该总是给我一些既可读又可直接用作git checkout的参数的东西。

    • 在本地分支上: feature/HS-0001
    • 在带标记的提交(分离)上: v3.29.5
    • 在远程分支(分离的,未标记的)上:SHA1
    • 在任何其他独立提交上:SHA1

    #15楼

    我有一个简单的脚本git-cbrcurrent branch ),它打印出当前的分支名称。

    #!/bin/bash
    
    git branch | grep -e "^*"
    

    我将此脚本放在自定义文件夹( ~/.bin )中。 该文件夹位于$PATH

    因此,现在当我进入git存储库时,只需键入git cbr即可打印出当前分支名称。

    $ git cbr
    * master
    

    之所以可行,是因为git命令采用第一个参数,并尝试运行名为git-arg1的脚本。 例如, git branch尝试运行一个名为git-branch的脚本,等等。


    #16楼

    git branch | grep -e "^*" | cut -d' ' -f 2
    

    将仅显示分支名称


    #17楼

    您可以永久设置bash输出以显示git-branch名称。 当您使用不同的分支时,这非常方便,无需始终键入$ git status 。 Github回购git-aware-prompt

    打开终端(ctrl-alt-t)并输入命令

    mkdir ~/.bash
    cd ~/.bash
    git clone git://github.com/jimeh/git-aware-prompt.git
    

    使用sudo nano ~/.bashrc命令(对于Ubuntu)编辑.bashrc,并将以下内容添加到顶部:

    export GITAWAREPROMPT=~/.bash/git-aware-prompt
    source "${GITAWAREPROMPT}/main.sh"
    

    然后粘贴代码

    export PS1="\${debian_chroot:+(\$debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \[$txtcyn\]\$git_branch\[$txtred\]\$git_dirty\[$txtrst\]\$ "
    

    在同一文件的末尾,您将安装代码粘贴到了前面。 这将为您提供彩色输出: 在此处输入图片说明


    #18楼

    使用Mac将其添加到PS1

    PS1='\W@\u >`[ -d .git ] && git branch | grep  ^*|cut -d" " -f2`> $ '
    

    在运行上面的命令之前:

    在此处输入图片说明

    运行该命令后:

    在此处输入图片说明

    不用担心,如果它不是GIT存储库,则不会显示错误,因为[-d .git]会检查.git文件夹是否存在。


    #19楼

    以下shell命令告诉您当前所在的分支。

    git branch | grep ^\*
    

    当您不想每次都想知道分支并且要使用Bash时都键入该长命令时,请为该命令提供一个简短的别名,例如别名cb ,就像这样。

    alias cb='git branch | grep ^\*'
    

    当您在分支master中,并且提示符为$ ,将获得* master ,如下所示。

    $ cb
    * master
    

    #20楼

    您可以在工作目录命令上使用git bash如下

    git status -b
    

    它会告诉您所在的分支上有很多有用的命令,其中一些是

    -s
    

    --short以短格式给出输出。

    -b --branch即使以短格式显示分支和跟踪信息。

    --porcelain [=]以易于解析的格式为脚本提供输出。 这类似于简短的输出,但是无论用户配置如何,在Git版本之间都将保持稳定。 有关详情,请参见下文。

    version参数用于指定格式版本。 这是可选的,默认为原始版本v1格式。

    --long以长格式给出输出。 这是默认值。

    -v --verbose除了已更改的文件名之外,还显示已暂存的文本更改(即,例如git diff --cached的输出)。 如果两次指定-v,那么还将显示尚未上演的工作树中的更改(即,类似于git diff的输出)。


    #21楼

    位于分离头上时返回分支名称或SHA1:

    git rev-parse --abbrev-ref HEAD | grep -v ^HEAD$ || git rev-parse HEAD
    

    这是@ dmaestro12答案的简短版本,没有标签支持。


    #22楼

    git status 
    

    还将给出分支名称以及更改。

    例如

    >git status
    On branch master // <-- branch name here
    .....
    

    #23楼

    我建议使用这两个命令中的任何一个。

    git branch | grep -e "^*" | cut -d' ' -f 2

    要么

    git status | sed -n 1p | cut -d' ' -f 3

    或(更详细)

    git status -uno -bs| cut -d'#' -f 3 | cut -d . -f 1| sed -e 's/^[ \\t]//1'| sed -n 1p


    #24楼

    较低的git status版本可以解决问题

    git status -bsuno
    

    打印出来

    ## branch-name
    

    #25楼

    git branch仅显示当前分支名称。

    虽然git branch将显示所有分支并用星号突出显示当前分支,但在使用许多分支时可能会很麻烦。

    要仅显示您当前所在的分支,请使用:

    git rev-parse --abbrev-ref HEAD
    

    #26楼

    从git的2.22版开始,您可以使用:

    git branch --show-current
    

    #27楼

    git branch
    

    应该显示您的仓库的所有本地分支。 已加星号的分支是您当前的分支。

    如果只想检索所在分支的名称,则可以执行以下操作:

    git rev-parse --abbrev-ref HEAD
    

    #28楼

    您只需在Linux的存储库目录中输入命令行(控制台)即可:

    $ git status
    

    您会看到一些文本,其中类似于:

    ...
    On branch master
    ...
    

    这意味着您当前在master分支上。 如果此时正在编辑任何文件,并且该文件位于同一本地存储库(包含Git版本控制管理下的文件的本地目录)中,则您正在此分支中编辑文件。


    #29楼

    为什么不使用git-aware shell提示,它会告诉您当前分支的名称? git status也有帮助。


    __git_ps1辅助函数中定义的来自contrib/ git-prompt.sh是如何做到的 (git版本2.3.0):

    1. 首先,在特殊情况下,如果检测到正在进行重新设置基准 。 Git在改基过程中使用未命名的分支(分离的HEAD)使其成为原子,原始分支保存在其他位置。

    2. 如果.git/HEAD文件是符号链接(在Git的古代历史中非常罕见),则使用git symbolic-ref HEAD 2>/dev/null

    3. 否则,它读取.git/HEAD文件。 后续步骤取决于其内容:

      • 如果此文件不存在,则没有当前分支。 如果存储库是裸露的,通常会发生这种情况。

      • 如果它以'ref: '前缀开头,则.git/HEAD是symref(符号引用),并且我们在常规分支上。 剥离此前缀可获得全名,剥离refs/heads/可获得当前分支的简称:

         b="${head#ref: }" # ... b=${b##refs/heads/} 
      • 如果它不是以'ref: '开头,则它是分离的HEAD(匿名分支),直接指向某个提交。 使用git describe ...以易于阅读的形式编写当前提交。

    希望对您有所帮助。


    #30楼

    #!/bin/bash
    function git.branch {
      br=`git branch | grep "*"`
      echo ${br/* /}
    }
    git.branch
    
    展开全文
  • linux bash 脚本获取git当前分支名

    万次阅读 2017-12-05 14:37:53
    linux bash 脚本获取git当前分支名 1、方法一 #!/bin/bash function git.branch { br=`git branch | grep "*"` echo ${br/* /} } git.branch 2、方法二 git symbolic-ref --short -q HEAD 3、测试脚本 #...
  • const simpleGit = require('simple-git') const git = simpleGit('D:/source/edu-node-github'); const init = async () => { const status = await git.... console.log(status.tracking) //分支名称 } init()
  • 如何在Linux下显示当前git分支

    千次阅读 2020-04-18 20:24:35
    不过在直接介绍如何显示当前分支之前,来看看到底怎么回事。 bashrc配置 每次我们登录一个shell终端的时候,前面都有一些固定的显示信息: root@ubuntu:# 这些显示信息其实可以配置的。 我们打开用户家目录下...
  • 1、 d=`git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3` echo $d; 2、 br=`git branch | grep "*"` echo ${br} 一个有趣的微信小程序
  • 本地Git分支名称记录在本地仓库...PowerShell中获取的方法为: $GitHEADFile = Get-Content '..\.git\HEAD' $GitHEADFileLine = [System.Environment]::NewLine $GitHEADFileContent = [String]::Join($GitHEADF
  • 如何获取 Git 当前分支名称

    千次阅读 2018-11-02 16:49:50
    之所以要获取 Git 分支名称,是因为最近在使用 Vue 的 vconsole。当然这个针对手机网页的前端开发者调试面板只需要在开发环境下使用,生产环境下自动过滤掉就行,那么就有了下面的代码。 if (process.env.NODE_...
  • git获取当前分支名称

    千次阅读 2019-09-19 21:50:16
    git branch | sed -n '/\* /s///p' 本地分支:master 远程跟踪分支(同步) :(detached from origin/master) 远程跟踪分支(非同步) :(detached from origin/fea...
  • 最近编译一个Lib库的时候,因为团队规定上传Release版本的AAR到Maven的话,必须需要在Jenkins上编译而且Git Branch 必须是master分支才能够上传到Maven。 因此我们就需要在Gradle脚本中,获取Git Branch ,Git ...
  • shell:获取git当前分支或tag

    千次阅读 2019-09-01 11:14:07
    shell下如何获取git的当前所在分支名或tag呢? 为了解决这个小问题,我之前是走了弯路的,之前我简单的想法就是解析git branch输出的内容从中获取 分支或tag名。 如下代码, # 返回$1指定的git项目的当前分支(branch)...
  • 【注】~/.bashrc 是Linux的,对应到Mac OSX 是 ~/.bash_profile ,看网上的教程要注意区分和...contrib/completion/git-prompt.sh 高亮显示当前分支名称 2、执行以下命令,将两个文件复制到用户目录,并设置隐藏 cp
  • 功能: 需要获取当前分支的所有commit记录 1. TestDemo代码块 public class TestMain { public static String remotePath = "https://github.com/******.git"; //远程库路径 public static String localPath
  • git 查看当前所在分支

    千次阅读 2022-04-26 16:18:12
    git branch
  • git显示当前分支的父分支名称

    千次阅读 2019-09-03 12:06:27
    git显示当前分支的创建来源分支 git reflog --date=local --all | grep v1.0.1_dev git reflog show v1.0.1_dev 当前分支 git branch -vv # 显示本地分支和服务器分支的映射关系 git log --graph --decorate git ...
  • 最近就有个鬼需要,需要在对项目模块下,获取指定子模块的在git中的当前分支。 先说一下多模块,我的这里以两个Springboot项目为例:ql-sample,ql-redis 1. ql-sample就是入口程序 2. ql-redis是一个子模块项目...
  • git log 查看 当前分支的 提交历史

    千次阅读 2021-01-12 16:24:31
    为此,微软建议大家使用 Segoe MDL2 Assets 字体来获取图标.Segoe MDL2 Assets 包括了哪里图标,微软在 http ... tomcat优化-有改protocol 和 缓存 集群方案 tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,...
  • shell命令获取 当前 git branch 的名字

    千次阅读 2018-10-07 16:18:45
    最近在打包代码的时候,想着把代码打包后的文件名改成 当前 git 分支的名字,便于区分,可以在脚本中执行 下边的命令就可以了获取 当前分支的名字了 TARGET_FILE_TMP=`sh -c 'git branch --no-color 2&gt; /...
  • CI 部分,在默认 Jenkins 环境配置中,Jenkins Pipeline 分为两种: Pipeline (单分支 Pipeline) Multibranch Pipeline (多分支 Pipeline) 如下图: 如果使用了多分支 Pipeline,就不会存在动态使用分支名称的...
  • git fetch --prune (或者git fetch '分支名称') //git stash(暂存当前工作) git merge 'origin/feature/name/vesrsion-3.0.0' git merge [origin]/[分支名称] ...git stash pop stash@{0} 还原暂存当前分支
  • 为什么要动态获取gitlab分支? 每个项目代码库都会有不同的分支,(如果你没有用多分支流水线的情况下)对于普通的流水线项目我们可以 让一条流水线来支持多个分支的发布,其实有时候你会发现每个分支的集成步骤都是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 188,127
精华内容 75,250
关键字:

获取当前分支名