Eu sei que já existem milhares de artigos como esse por ai, mas como eu poderia fazer uma série de posts sobre Git e GitHub sem falar dos comandos?
No dia a dia estes comandos são utilizados com muito frequência.
Comandos Básicos
git config
Quando você está utilizando o Git pela primeira vez ou com uma instalação nova, em um projeto colaborativo, esse comando é fundamental para configurar sua identidade de usuário, as informações nome e email serão empregadas em cada commit.
$ git config –global user.name “Seu nome”
$ git config –global user.email “Seu email”
git init
O comando irá criar um repositório novo em branco e, a partir daí, será possível armazenar seu código fonte, alterar, salvar alterações etc.
$ git init <Seu repositório>
git clone
Esse comando Git cria uma cópia exata de um repositório já existente.
$ git clone <URL do seu projeto>
git add
Esse comando Git adiciona os arquivos especificados ao seu repositório, sejam arquivos novos ou arquivos anteriores que foram alterados. Oferece diferentes possibilidades de sintaxe.
$ git add <nome do arquivo>
esse comando irá adicionar o arquivo em específico ao repositório
$ git add
esse comando irá adicionar todos os arquivos novos e/ou modificados ao repositório
git commit
É fundamental se estabelecer uma diferença entre git add e git commit: O git add adiciona seus arquivos modificados à fila para serem submetidos a um commit posteriormente. Os arquivos não passaram por um commit ainda.
É possível combinar os dois comandos em um único: $ git commit -a
ou $ git commit -m "seu comentário"
git branch
É comum na maior parte do tempo possuir múltiplas variações em seu repositório Git, chamadas de branches (“ramificações”).
A princípio pode parecer fácil se perder em diversos caminhos, mas o comando git branch facilita o gerenciamento de tudo isso. Com diferentes parâmetros, é possível listar, criar ou apagar os branches.
$ git branch
(lista todas as ramificações)
$ git branch <nome_do_branch>
(cria um branch com o nome especificado)
$ git branch -d <nome_do_branch>
(deleta o branch com o nome especificado)
git checkout <nome_do_branch>
Ainda sobre branches, esse comando Git pode ser utilizado para trocar de uma ramificação para outra.
Comandos Intermediários
git remote add <nome> <url>
Esse comando estabelece uma conexão entre seu repositório local e um repositório remoto.
git push -u <remote> <branch>
Esse comando serve para subir suas modificações para um repositório remoto conectado anteriormente com git remote.
git fetch
Quando você precisa baixar as mudanças criadas por outros membros do seu projeto colaborativo, você precisa do comando Git fetch. A partir desse comando, você irá receber todas as informações de commits, para avaliar, antes de aplicar essas alterações na sua versão local do repositório.
git pull <URL>
O comando Git pull baixa o conteúdo do que foi alterado no repositório remoto para o seu repositório local e o atualiza para a última versão.
git stash
Esse comando Git armazena temporariamente seus arquivos modificados em uma área chamada stash (“esconderijo”), sem interagir com os outros arquivos até ser necessário.
Para listar todos usamos:
$ git stash list
Quando for o momento de aplicar o conteúdo do stash a um branch, usamos o “apply”:
$ git stash apply
git show <hash_do_commit>
Quer detalhes específicos sobre um commit que o log não mostra? O comando Git show é a resposta.
git rm <nome_do_arquivo>
Para remover arquivos da sua pasta, você pode utilizar o comando git rm.
git merge <nome_do_branch>
Esse comando Git integra as mudanças de dois branches diferentes em um único branch. Ele precisa ser iniciado a partir de um branch já selecionado, que será mesclado com outro, com o nome passado por parâmetro.
Comandos Avançados
git rebase <base>
Git rebase a princípio parece fazer o mesmo que um merge: ele integra dois branches em um branch único. Porém, esse comando refaz o histórico de commits, tornando-o linear. É o mais indicado para consolidar múltiplos branches.
git pull –rebase
Essa é uma variação do comando pull mostrado anteriormente. A partir dessa instrução, o Git irá fazer um rebase (não um merge) depois de se utilizar um comando pull.
git cherry-pick <commit-hash>
Esse é um comando poderoso que permite selecionar qualquer commit específico de um branch e aplicá-lo a outro branch, sem precisar de uma mescla completa. A operação fica adicionada no histórico.
git archive –format zip HEAD > archive-HEAD.zip
Esse comando Git combina múltiplos arquivos em um único arquivo, como se fosse um arquivo zipado. Esse pacote pode ser aberto depois e os arquivos contidos podem ser extraídos individualmente.
git blame <nome_do_arquivo>
O comando “culpa” - blame - ajuda a determinar qual usuário realizou qual mudança em um determinado arquivo.
git tag -a <nome_da_tag>
Tags são uma boa opção para marcar uma branch e evitar alteração, principalmente em releases públicos.
Note que por boas práticas uma tag sempre é criada como uma versão $ git tag -a vX.X.X
git diff
Para comparar dois arquivos gits ou dois branches antes de passarem por um commit ou um push, é importante executar esse comando Git.
comparando o repositório ativo com o repositório local: $ git diff HEAD <nome_do_arquivo>
comparando duas ramificações: $ git diff <*branch* de origem> <*branch* de destino>
git citool
Esse comando Git oferece uma alternativa gráfica ao commit.
git whatchanged
Esse comando oferece informações de log, mas em formato raw.
Extra
git help <comando que se tem dúvida>
Existem inúmeros comandos no Git, muito mais do que os dessa lista, cada um com sua função, parâmetros e características. Felizmente, o próprio Git tem o comando help para trazer ajuda diretamente no terminal.
Top comments (0)