Existe uma maneira de controlar os comandos que usei no Git no Windows? Desejo visualizar todos os comandos que apliquei em meu repositório.
Quero poder voltar ao histórico de comandos e descobrir o comando que causou o problema, caso tenha ocorrido.
Ver o histórico de commits seria uma coisa, mas para manter um histórico de outras ações, como criar um branch ou adicionar um remoto, elas são rastreadas?
.git/logs
, verá o histórico do commit para o qual cada branch apontou.push
ing não muda o estado de uma filial local,reflog
aparentemente ela não armazenapush
, então olhar.git/logs/refs/remotes/*/*
é a única maneira de ver seupush
histórico.Respostas:
git mostrará mudanças em commits que afetam o índice, como
git rm
. Ele não armazena um log de todos os comandos git que você executa.No entanto, um grande número de comandos git afeta o índice de alguma forma, como criar um novo branch. Essas mudanças irão aparecer no histórico de commits, que você pode ver com
git log
.No entanto, existem mudanças destrutivas que o git não pode rastrear, como
git reset
.Portanto, para responder à sua pergunta, git não armazena um histórico absoluto de
git
comandos que você executou em um repositório. No entanto, muitas vezes é possível interpolar qual comando você executou por meio do histórico de commits.fonte
git history
seria útil, por exemplo, para ver quais comandos foram executados em um clone específico .git reflog
é o que você quer. Veja a resposta abaixo.git reflog
realmente mostra os próprios comandos. Além disso, BTW, o shell é apenas uma maneira um pouco mais direta de inferir os comandos git, mas um repo git pode ser tocado por vários shells. É melhor perguntar ao git quais comandos foram usados.Você pode ver o histórico com git-reflog ( exemplo aqui ):
fonte
git reflog
mostre todas as posições que seu HEAD está seguindo, não mostrará realmente todos os comandos git. Os comandos do Git que não movem a cabeça (por exemplogit branch -D my_precious_branch
) não apareceriam lá.git reflog --all
?git remote add foo bar
. ele não aparecerágit reflog --all
, pois não modifica o ponteiro HEAD.git reflog
não me mostra comandos comogit status
aso., com ou sem--all
parâmetro.Um log de seus comandos pode estar disponível no histórico do shell.
Se ver a lista de comandos executados não for para você, exporte a lista para um arquivo.
Você pode restringir o dump exportado para mostrar apenas comandos com "git" neles, canalizando-o com grep
O histórico pode conter linhas formatadas como tal
Usando o número, você pode reexecutar o comando com um ponto de exclamação
fonte
Se você estiver usando CentOS ou outro tipo de Linux, basta fazer
Ctrl
+R
no prompt e digitargit
.Se você continuar pressionando
Ctrl
+,R
isso fará uma pesquisa reversa em seu histórico para comandos que começam comgit
fonte
Digite
history
seu terminal. Não é tecnicamente git, mas acho que é o que você quer.fonte
Se você usa o Windows PowerShell, pode digitar "git" e pressionar F8. Continue a pressionar F8 para percorrer todos os seus comandos git.
Ou, se você usar o cygwin, poderá fazer a mesma coisa com ^ R.
fonte
Descobri que na minha versão do git bash "2.24.0.windows.2" na minha pasta "home" nos usuários do Windows, haverá um arquivo chamado ".bash-history" sem extensão de arquivo nessa pasta. Ele só é criado depois que você sai do bash.
Este é meu fluxo de trabalho:
Se você realmente quiser pontos, acho que você poderia fazer um arquivo em lote para fazer tudo isso, mas isso é bom o suficiente para mim. Espero que ajude alguém.
fonte