Como obter o nome do ramo atual no Git?

2595

Eu sou do background do Subversion e, quando tinha uma ramificação, sabia no que estava trabalhando com "Esses arquivos de trabalho apontam para essa ramificação".

Mas, com o Git, não tenho certeza quando estou editando um arquivo no NetBeans ou no Notepad ++, esteja ele vinculado ao mestre ou a outro ramo.

Não há problema com o gitbash, isso me diz o que estou fazendo.

mike628
fonte
11
Deixe seu IDE exibir o arquivo .git/HEAD, possivelmente em um diretório pai
Tino
101
stackoverflow.com/questions/1417957/… $ git rev-parse --abbrev-ref HEAD
fantastory
7
Possível duplicado de mostrar apenas o ramo atual em Git
techraf
9
Com Git 2,22 (Q2 2019), você terá uma abordagem mais simples: git branch --show-current. Veja minha resposta aqui .
VonC 10/03/19

Respostas:

2305
git branch

deve mostrar todas as ramificações locais do seu repo. O ramo com estrela é o seu ramo atual.

Se você deseja recuperar apenas o nome da filial em que está, pode:

git rev-parse --abbrev-ref HEAD
roberttdev
fonte
Mas isso não me ajuda com o Notepad ++ e o Netbeans. Apenas git bash (e Probobly Vim) e eu mencionei isso. Estou tentando trabalhar com outras ideias e editores de texto que não são a linha de comando.
Mike628
@ mike628 Na verdade, eles estão ajudando você, exceto que você deseja algo acessível através da GUI. Corrigir?
Tadeck 5/06/11
2
Se você estiver disposto a trabalhar no Eclipse, existe um programa chamado "eGit" que possui uma GUI que informará a ramificação atual de todos os repositórios nele. Caso contrário, eu não sei ... você estaria à mercê do criador de qualquer plug-in que desejasse usar, compatível com a sua escolha de programa (se houver).
precisa saber é o seguinte
2
depois de fazer um, git checkout --orphan fooentão git branchnão conseguiu mostrar o ramo foo. Considerando que, git symbolic-ref HEADcomo sugerido, outra resposta funcionou.
Marcus Junius Brutus
2
downvote, queremos apenas o ramo atual como stdout, nem todos os ramos
Alexander Mills
4657

Para exibir o ramo atual em que você está, sem os outros ramos listados, você pode fazer o seguinte:

git rev-parse --abbrev-ref HEAD

Referência:

Jistanidiot
fonte
132
@ChrisNelson, porque exibe apenas a ramificação atual, em vez de uma longa lista de todas as ramificações.
Avakar
73
Bom, infelizmente, ele não funciona se você estiver em um estado 'desanexado HEAD' (ele simplesmente gera 'HEAD', que é totalmente inútil).
Carlos Campderrós 30/01
34
Eu acho pelos internos git se você está em um estado 'CABEÇA destacada' não há rastreamento do ramo a que pertence, porque git branchmostra * (no branch), que também é inútil ...
Carlos Campderrós
76
"git simbólico-ref --short Head" também funciona para este mesmo propósito
dusktreader
22
git rev-parse --abbrev-ref HEAD 2>/dev/null A parte / dev / null impede que você veja um erro se você acabou de criar um novo repositório que ainda não possui HEAD.
Paradiesstaub
523

Você também tem o git symbolic-ref HEADque exibe o refspec completo.

Para mostrar apenas o nome do ramo no Git v1.8 e posterior (obrigado a Greg por apontar isso):

git symbolic-ref --short HEAD

No Git v1.7 +, você também pode:

git rev-parse --abbrev-ref HEAD

Ambos devem dar o mesmo nome de filial, se você estiver em uma filial. Se você estiver com uma cabeça desapegada, as respostas serão diferentes.

Nota:

Em um cliente anterior, isso parece funcionar:

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

- Darien 26. Mar 2014

Wernight
fonte
7
Como todas as outras respostas, isso não funciona quando você está em um estado de 'CABEÇA desapegada'
Carlos Campderrós
51
@ CarlosCampderrós: ​​se você estiver no estado HEAD desanexado, não existe um ramo atual. Afinal, o commit em que você está pode ser atingido por zero, um ou mais desvios.
Flimm
2
isso faz com que problemas em repositórios git vazias quando não há CABEÇA
Arne
8
Com o git, a versão 2.4.4 git rev-parse --abbrev-ref HEADmostra HEADquando você está desanexado.
Peterhil 11/07/2015
A melhor resposta é ainda, git symbolic-ref HEAD | sed -e "s/^refs\/heads\///" uma vez que exibirá uma string como HEAD detached at a63917fem um estado desanexado, diferente das outras respostas que mostram nada ou HEAD. Isso é importante.
Bernard
265

Para minha própria referência (mas pode ser útil para outras pessoas), fiz uma visão geral da maioria das técnicas (linha de comando básica) mencionadas neste encadeamento, cada uma aplicada a vários casos de uso: HEAD is (apontando para):

  • filial local (mestre)
  • filial de rastreamento remoto, sincronizada com a filial local (origem / mestre na mesma confirmação que mestre)
  • filial de rastreamento remoto, não sincronizada com uma filial local (origin / feature-foo)
  • tag (v1.2.3)
  • submódulo (executado dentro do diretório submódulo)
  • cabeça destacada geral (nenhuma das opções acima)

Resultados:

  • git branch | sed -n '/\* /s///p'
    • Filial local: master
    • ramo de rastreamento remoto (em sincronia): (detached from origin/master)
    • ramo de rastreamento remoto (não sincronizado): (detached from origin/feature-foo)
    • tag: (detached from v1.2.3)
    • submódulo: (HEAD detached at 285f294)
    • cabeça destacada geral: (detached from 285f294)
  • git status | head -1
    • Filial local: # On branch master
    • ramo de rastreamento remoto (em sincronia): # HEAD detached at origin/master
    • ramo de rastreamento remoto (não sincronizado): # HEAD detached at origin/feature-foo
    • tag: # HEAD detached at v1.2.3
    • submódulo: # HEAD detached at 285f294
    • cabeça destacada geral: # HEAD detached at 285f294
  • git describe --all
    • Filial local: heads/master
    • filial de rastreamento remoto (em sincronia): heads/master(nota: não remotes/origin/master )
    • ramo de rastreamento remoto (não sincronizado): remotes/origin/feature-foo
    • tag: v1.2.3
    • submódulo: remotes/origin/HEAD
    • cabeça destacada geral: v1.0.6-5-g2393761
  • cat .git/HEAD:
    • Filial local: ref: refs/heads/master
    • submódulo: cat: .git/HEAD: Not a directory
    • todos os outros casos de uso: SHA do commit correspondente
  • git rev-parse --abbrev-ref HEAD
    • Filial local: master
    • todos os outros casos de uso: HEAD
  • git symbolic-ref --short HEAD
    • Filial local: master
    • todos os outros casos de uso: fatal: ref HEAD is not a symbolic ref

(FYI, isso foi feito com a versão 1.8.3.1 do git)

Stefaan
fonte
6
Em resumo, ninguém parece fazer exatamente o que eu faria à mão.
bukzor
6
Este foi bastante útil para mim: git describe --all --exact-match 2>/dev/null | sed 's=.*/=='era a melhor solução para mim (bons nomes para marcas e chefes de filiais, nenhuma saída para as cabeças separadas aleatórios.
Alex Dupuy
1
No entanto, eu acabei de descobrir que o uso git describetem uma falha grave quando há vários ramos que referenciam o mesmo commit, por exemplo, logo após git checkout -b foo- ele usa um deles arbitrariamente (parece ser o mais recentemente criado). Vou mudar minha estratégia para usar saída filtrada git branche usar somente git describese o resultado for algo sobre uma cabeça desanexada.
Alex Dupuy
Na verdade, eu preciso usar git branch --no-colorpara garantir que o nome do arquivo esteja livre de códigos de escape de terminal irritantes.
AlexDupuy #
2
Isso me ajudou muito mais de uma vez, obrigado por ser tão meticuloso!
Alice Purcell #
154

A partir da versão 2.22 do git, você poderia apenas usar:

git branch --show-current

Conforme a página de manual:

Imprima o nome da ramificação atual. No estado HEAD desanexado, nada é impresso.

Máx.
fonte
2
Sim, eu mencionei isso em março passado nos comentários dessa página: stackoverflow.com/questions/6245570/… . E no stackoverflow.com/a/55088865/6309 .
VonC 7/06/19
5
Pelo menos mencione que isso não funciona no estado HEAD desanexado. Acabei de perder horas com o git 2.22 para compilar por nada ...
David Deprost
136

Mais uma alternativa:

git name-rev --name-only HEAD
Filip Spiridonov
fonte
ele também pode ser recuperado comecho ${$(git symbolic-ref --quiet HEAD)#refs/heads/}
Antoine
12
Não funciona se HEAD for o mesmo para o mestre e o ramo de recursos (por exemplo, durante a mesclagem). Ele retorna 'master' mesmo se executado na ramificação do recurso.
Orest Hera 06/04
1
git checkout master && git name-rev --name-only HEAD # ac-187Ele não funciona como esperado #
Alexander Abashkin
Salvei isso em uma variável imediatamente antes da mesclagem e também nos casos em que meu HEAD pode ser desconectado se eu fizer o checkout de um commit específico. Nesse caso, isso funciona bem.
Ishaan Sejwal
4
Estou fazendo isso a partir de um pipeline de Jenkins. Portanto, essa parece ser a melhor resposta para mim. Fazendo git branch --listapenas diz * (HEAD detached at 7127db5). Fazendo git rev-parse --abbrev-ref HEADapenas diz HEADe assim por diante.
Mig82
91

Bem simples, eu comprei em um forro (bash)

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

(crédito: Expiação Limitada)

E enquanto estou lá, o único liner para obter o ramo de rastreamento remoto (se houver)

git rev-parse --symbolic-full-name --abbrev-ref @{u}
Olivier Refalo
fonte
8
Barras demais! :) sed -n 's/\* //p'faz o truque. Embora eu tenha tendência para o paranóico, eu o ancoraria sed -n 's/^\* //p'.
Mark Reed
65

Você pode digitar apenas a linha de comando (console) no Linux, no diretório do repositório:

$ git status

e você verá algum texto, entre os quais algo semelhante a:

...
On branch master
...

o que significa que você está atualmente no masterramo. Se você estiver editando algum arquivo naquele momento e ele estiver localizado no mesmo repositório local (diretório local que contém os arquivos que estão sob o gerenciamento de controle de versão do Git), você estará editando o arquivo nesta ramificação.

Tadeck
fonte
2
Com base no que você deseja fazer, você pode usar git statuse obter apenas a primeira linha de saída com a git status | head -1qual produz algo parecido # On branch master. Tenho certeza de que as diferenças de versão também precisam ser contabilizadas.
Joshua Pinter
@ JosPinter: Você também pode usar git status | grep 'On branch', o que deve ter o mesmo efeito (deveria, não significa que ocorrerá se a sua versão do Git a exibir de maneira diferente). Ou git branch | grep '*', que mostrará o nome do ramo com uma estrela no início.
Tadeck 01/01
Sim, isso também funciona e pode ser mais flexível. Meu resultado final para mostrar apenas o nome da ramificação em um aplicativo dev Rails foi:<tick>git status | head -1<tick>.gsub('# On branch ', '')
Joshua Pinter
1
git statuspode levar muito tempo para retornar um valor se houver muitos arquivos sendo gerenciados.
o homem de lata
Sim, se você deseja imprimir a ramificação em uma página da web, por exemplo, git statuspode armazenar o tempo de geração da página inteira.
Artem Russakovskii 03/07/19
36
git symbolic-ref -q --short HEAD

Eu uso isso em scripts que precisam do nome da filial atual. Ele mostrará a referência simbólica abreviada atual para HEAD, que será seu nome de filial atual.

Kousha
fonte
1
Obrigado, funciona muito bem! - Também estou adicionando "-C path_to_folder" no meu script com isso.
Tony
1
Essa é uma boa solução, pois com a opção -q retorna um código de erro no estado "desanexado HEAD", mas não imprime nada no stderr.
hallidave
esta é a única solução que funcionou para mim em um repo fresco sem nenhum commit
kundasaba
26
git branch | grep -e "^*" | cut -d' ' -f 2

mostrará apenas o nome do ramo

ungalcrys
fonte
Se o seu ramo mostrar algo assim "* (HEAD desanexado em SUM_BRANCH_01)", tente este "git branch | grep -e" ^ * "| cut -d '' -f 5 | cut -d ')' -f 1 "
Dylan Kapp
Acabei de criar esse mesmo script para obter o nome do ramo atual. Achei que poderia ajudar com diffs.
tggagne 9/08/16
25

git branch mostrar apenas o nome da filial atual.

Embora o ramo git mostre todos os ramos e destaque o atual com um asterisco, ele pode ser muito complicado quando se trabalha com muitos ramos.

Para mostrar apenas a filial em que você está atualmente, use:

git rev-parse --abbrev-ref HEAD
Lawrence Paje
fonte
isso é ótimo para o ci e outras ferramentas de construção!
phouse512
melhor resposta para usá-lo em um script
Ben Keil
1
Às git branch --containsvezes, o @DylanNicholson lista mais de um ramo.
Joe Chacko
22

Encontrei uma solução de linha de comando do mesmo tamanho que a de Oliver Refalo , usando o bom e velho awk:

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

awklê isso como "faça as coisas nas {}linhas correspondentes ao regex". Por padrão, ele assume campos delimitados por espaços em branco, para que você imprima o segundo. Se você puder assumir que apenas a linha com sua ramificação possui o *, você pode soltar o ^. Ah, bash golfe!

Silas Barta
fonte
19
#!/bin/bash
function git.branch {
  br=`git branch | grep "*"`
  echo ${br/* /}
}
git.branch
Dziamid
fonte
18

Por que não usar o prompt de shell compatível com git, que informa o nome da ramificação atual? git statustambém ajuda.


Como git-prompt.sh de contrib/faz isso (git versão 2.3.0), conforme definido na __git_ps1função auxiliar:

  1. Primeiro, há um caso especial se a rebase em andamento for detectada. O Git usa ramificação sem nome (HEAD desanexado) durante o processo de rebase para torná-lo atômico, e a ramificação original é salva em outro lugar.

  2. Se o .git/HEADarquivo é um link simbólico (um caso muito raro, da história antiga do Git), ele usagit symbolic-ref HEAD 2>/dev/null

  3. Senão, lê o .git/HEADarquivo. Os próximos passos dependem do seu conteúdo:

    • Se esse arquivo não existir, não haverá ramificação atual. Isso geralmente acontece se o repositório estiver vazio.

    • Se ele começa com o 'ref: 'prefixo, então .git/HEADé symref (referência simbólica) e estamos no ramo normal. Retire esse prefixo para obter o nome completo e retire o refs/heads/nome abreviado da ramificação atual:

      b="${head#ref: }"
      # ...
      b=${b##refs/heads/}
      
    • Se não começar 'ref: ', será desanexado HEAD (ramificação anônima), apontando diretamente para algum commit. Use git describe ...para escrever a confirmação atual em formato legível por humanos.

Espero que ajude.

Jakub Narębski
fonte
3
E se você estiver desenvolvendo um prompt de shell compatível com o git, qual das respostas aqui você deve usar? Tartarugas até o fim.
Tripleee
1
@tripleee: Peça idéias de github.com/git/git/blob/master/contrib/completion/git-prompt.sh
Jakub Narębski
4
O que parece estar fazendo para o registro, git describe --contains --all HEADque atualmente não vejo em nenhum outro lugar nesta página. Como eu tenho certeza que você sabe, respostas somente para links não são recomendadas no StackOverflow.
Tripleee
2
@tripleee: Eu adicionei uma explicação como git-prompt.sh(aka __git_ps1) faz isso ...
Jakub Narębski
17

Uma versão menos barulhenta para o status git faria o truque

git status -bsuno

Imprime

## branch-name
dgolovin
fonte
1
## develop ... origin / develop #
9788 Kalpesh Soni
16

Desculpe, esta é outra resposta da linha de comando, mas era isso que eu estava procurando quando encontrei esta pergunta e muitas dessas respostas foram úteis. Minha solução é a seguinte função de shell bash:

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

Isso sempre deve me dar algo legível por humanos e diretamente utilizável como argumento git checkout.

  • em uma filial local: feature/HS-0001
  • em um commit marcado (desanexado): v3.29.5
  • em uma ramificação remota (desanexada, não marcada): SHA1
  • em qualquer outro commit desanexado: SHA1
dmaestro12
fonte
1
Obrigado por postar isso, nenhuma das outras respostas parecia se importar em sempre produzir algo útil como argumento git checkout.
Zwol
15

você pode usar git bash no comando diretório de trabalho é o seguinte

git status -b

dirá em que ramo você está, existem muitos comandos úteis, alguns deles são

-s

--short Fornece a saída no formato curto.

-b --branch Mostra as informações da filial e do rastreamento, mesmo em formato curto.

--porcelain [=] Forneça a saída em um formato fácil de analisar para scripts. Isso é semelhante à saída curta, mas permanecerá estável nas versões do Git e independentemente da configuração do usuário. Veja abaixo os detalhes.

O parâmetro version é usado para especificar a versão do formato. Isso é opcional e o padrão é o formato da versão original v1.

--long Fornece a saída no formato longo. Esse é o padrão.

-v --verbose Além dos nomes dos arquivos que foram alterados, também mostre as alterações textuais que são preparadas para serem confirmadas (ou seja, como a saída do git diff --cached). Se -v for especificado duas vezes, também mostre as mudanças na árvore de trabalho que ainda não foram preparadas (por exemplo, como a saída do git diff).

Prateek Gangwal
fonte
14
git status 

também fornecerá o nome do ramo junto com as alterações.

por exemplo

>git status
On branch master // <-- branch name here
.....
Satheesh Kumar
fonte
13

Com o tempo, podemos ter uma lista realmente longa de filiais.

Enquanto algumas das outras soluções são ótimas, eis o que eu faço (simplificado da resposta de Jacob):

git branch | grep \*

Agora,

git status

funciona, mas apenas se houver alguma alteração local

karthikr
fonte
13

Eu recomendo usar qualquer um desses dois comandos.

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

OU

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

OU (mais detalhado)

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

jackotonye
fonte
12

No Netbeans, verifique se as anotações de versão estão ativadas (Exibir -> Mostrar etiquetas de versão). Você pode ver o nome da filial ao lado do nome do projeto.

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

Saroj
fonte
Com as anotações de versão ativadas, tudo o que você precisa fazer é passar o mouse sobre a pasta Projeto (ou Arquivo ou Favorito) para ver a ramificação atual.
Idclaar
12

Que tal isso?

{ git symbolic-ref HEAD 2> /dev/null || git rev-parse --short HEAD 2> /dev/null } | sed "s#refs/heads/##"
ShogunPanda
fonte
1
Resposta muito melhor porque lida bem com o caso HEAD destacado.
Pat
2
Parece que você deveria estar usando () não {} para agrupar os comandos git #
Pat Pat
@ Pat Não há necessidade de gerar um subshell separado para isso, como faria (). {} está bom, exceto que você precisa adicionar um; ou nova linha antes de}. Na verdade, você pode simplesmente deixar o {} a menos que precise agrupar os comandos.
aij
A symbolic-refparte também não precisa --shortevitar o prefixo do nome da filial refs/heads/?
rjp
11

Eu tenho um script simples chamado git-cbr( ramo atual ) que imprime o nome do ramo atual.

#!/bin/bash

git branch | grep -e "^*"

Eu coloquei esse script em uma pasta personalizada ( ~/.bin). A pasta está em$PATH .

Então agora, quando estou em um repositório git, simplesmente digito git cbrpara imprimir o nome do ramo atual.

$ git cbr
* master

Isso funciona porque o gitcomando pega seu primeiro argumento e tenta executar um script que seja chamado pelo nome de git-arg1. Por exemplo, git branchtenta executar um script chamado git-branchetc.

Diego Pino
fonte
11

Você pode configurar permanentemente sua saída do bash para mostrar o nome do seu git-branch. É muito útil quando você trabalha com ramificações diferentes, sem precisar digitar $ git statuso tempo todo. Repo do Github git-awareness-prompt .

Abra seu terminal (ctrl-alt-t) e digite os comandos

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

Edite seu .bashrc com o sudo nano ~/.bashrccomando (para Ubuntu) e adicione o seguinte ao topo:

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

Depois cole o código

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\]\$ "

no final do mesmo arquivo em que você colou o código de instalação anteriormente. Isso fornecerá a saída colorida:insira a descrição da imagem aqui

Kirill Zhuravlov
fonte
10

O seguinte comando shell informa a filial em que você está atualmente.

git branch | grep ^\*

Quando você não quiser digitar esse comando longo toda vez que quiser conhecer a ramificação e usar o Bash, forneça um pequeno alias ao comando, por exemplo cb, alias , assim.

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

Quando você está no mestre da filial e seu prompt é $, você obtém * mastero seguinte.

$ cb
* master
mrrusof
fonte
Isso não fornece uma resposta para a pergunta. Para criticar ou solicitar esclarecimentos a um autor, deixe um comentário abaixo da postagem. - Do comentário
Rashwan L
1
Porque você acha isso?
achou
você deve comentar e descrever sua postagem para o OP, para que seja mais fácil entender sua postagem.
Rashwan L
1
Faz todo o sentido.
mrrusof
1
se você usar o zsh, precisará git branch | grep '^\*'
agrupar
9

Retorna o nome da ramificação ou SHA1 quando na cabeça desanexada:

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

Esta é uma versão curta da resposta de @ dmaestro12 e sem suporte a tags.

do utilizador
fonte
8
melhor:git symbolic-ref --quiet --short HEAD || git rev-parse --short HEAD
blueyed
8

Se você realmente deseja fazer o check-out da última ramificação / etiqueta no estado HEAD desanexado.

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

Atualizar Isso é melhor se você tiver e não tiver medo do awk.

git reflog HEAD | grep 'checkout:' | head -1 | awk '{print $NF}'
Ryan
fonte
o rev | cut -d' ' -f1| revpode ser simplificado comawk '{print $NF}'
Steve Buzonas
1
Embora isso também não seja infalível, pois você pode fazer o check-out de uma revisão específica por hash, para que o reflog apenas mostre checkout: moving from ba7571b7fc5b8f31b8d0625821269afaa655577e to f68be8cf7bea917a5a0562b619e50368de0068a9que ainda é um truque útil que pode ajudar a desambiguar alguns casos.
Alex Dupuy
1
Encurtar ainda mais paragit reflog | awk '$3=="checkout:" {print $NF; exit}'
jthill
6

Eu sei que é tarde, mas em um linux / mac, a partir do terminal, você pode usar o seguinte.

git status | sed -n 1p

Explicação:

git status -> obtém o status da árvore de trabalho
sed -n 1p -> obtém a primeira linha do corpo do status

A resposta ao comando acima terá a seguinte aparência:

"On branch your_branch_name"
skippy
fonte
2
head -1da maneira usual
bukzor
5

você também pode usar a variável GIT_BRANCH como aparece aqui: https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

O plugin git define várias variáveis ​​de ambiente que você pode usar em seus scripts:

GIT_COMMIT - SHA do atual

GIT_BRANCH - Nome do ramo atualmente em uso, por exemplo, "master" ou "origin / foo"

GIT_PREVIOUS_COMMIT - SHA do commit construído anteriormente da mesma ramificação (o SHA atual na primeira compilação na ramificação)

GIT_URL - URL remoto do repositório

GIT_URL_N - URLs remotos do repositório quando houver mais de 1 controles remotos, por exemplo, GIT_URL_1, GIT_URL_2

GIT_AUTHOR_EMAIL - Email do autor / autor

GIT_COMMITTER_EMAIL - Email do autor / autor

user3405314
fonte
5

Adicione-o ao PS1Mac:

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

Antes de executar o comando acima:

insira a descrição da imagem aqui

Depois de executar esse comando:

insira a descrição da imagem aqui

Não se preocupe, se não for um repositório GIT, ele não exibirá erros, pois [-d .git]verifica se a .gitpasta existe ou não.

Abdennour TOUMI
fonte