Qualquer pessoa que use o Git, ou mesmo que tenha visto ele, sabe que existem muitos termos e modificadores para acompanhar.
E continue acompanhando, pois isso se tornou o padrão em controle de versão para produtos tecnológicos hoje.
Mas em vez de apenas esperar que você guarde tudo na sua cabeça, nós compilamos este recurso indispensável cheio de comandos críticos para você consultar, para que possa usar o Git de forma eficaz e eficiente.
Não é um super usuário do Git (ainda)? Isso é perfeitamente normal.
Os comandos que detalharemos aqui variam desde os do dia a dia até os mais raros e complexos. E, como um bônus adicional, cada um é acompanhado de dicas sobre como você pode usá-lo durante um projeto de desenvolvimento.
Começaremos com algumas informações sobre o histórico do Git, e finalizaremos com um guia completo de como você pode usar o Git em um cenário real.
Breve Explicação: Entendendo Git, GitHub & Controle de Versão
Git é o que seus desenvolvedores chamam de plataforma de Gerenciamento de Código Fonte (SCM). Em outras palavras, é um sistema de controle de versão. Um que é gratuito, fácil de usar e, portanto, está no núcleo de muitos projetos bem conhecidos.
O que nos leva a uma pergunta lógica se você não está imerso no mundo do desenvolvimento: O que exatamente é controle de versão?
Construir algo a partir de código frequentemente requer muita tentativa, erro e etapas. E, em muitos casos, colaboração.
É fácil que elementos importantes que demandaram muito esforço sejam sobrescritos ou perdidos. Por exemplo, se você já trabalhou com um colega em um documento do Google ao vivo, você entende o que queremos dizer.
Uma ferramenta de controle de versão basicamente salva cada iteração do seu progresso ao longo de um projeto. Isso é útil caso você queira voltar para uma versão anterior para revisar e pegar certos elementos para reutilizar — ou até mesmo restaurar uma versão antiga se algo na construção atual não estiver funcionando como esperado.
Git está instalado localmente, o que significa que ele existe em seu computador em vez de na nuvem. Na verdade, você nem precisa estar conectado à internet ao usá-lo!
Dessa forma, ele fornece um repositório seguro (geralmente chamado de “repo”, que é um espaço de armazenamento para código) para um desenvolvedor salvar cada “rascunho” de um projeto em que está trabalhando.
Git leva isso um passo adiante com o modelo de ramificação pelo qual se tornou conhecido.
Com o Git, um desenvolvedor pode criar várias “branches” de código que se estendem a partir de um projeto. Essas branches são basicamente cópias do projeto principal, que costumava ser chamado de projeto “master”, mas esse termo está sendo eliminado.
Alterações em ramificações não impactam o código do projeto principal a menos que você as instrua a fazer isso. Com a ramificação, os desenvolvedores podem fazer coisas como experimentar novas funcionalidades ou corrigir bugs. As alterações feitas em uma ramificação não impactarão o código principal a menos que você faça algo chamado “fusão”.
Git faz total sentido para proprietários de sites ou desenvolvedores trabalhando em seus próprios projetos. Mas e quando você precisa trabalhar com uma equipe em um projeto de codificação?
Conheça o GitHub.
GitHub é uma plataforma de desenvolvimento para hospedar repositórios Git.
Em outras palavras, é como você tira seus repositórios Git da sua máquina local e os coloca na internet, geralmente com o objetivo de permitir que as pessoas colaborem neles.
GitHub é baseado em nuvem e lucrativo, embora o básico possa ser usado gratuitamente ao se registrar.
A função principal do GibHub é permitir que desenvolvedores trabalhem juntos em um projeto único em tempo real, fazendo revisões de código remotamente, revisando o trabalho uns dos outros e atualizando o projeto principal.
GitHub mantém o recurso principal do Git: prevenir a sobrescrita e manter cada versão salva de um projeto. Ele também adiciona uma variedade de funcionalidades e serviços adicionais como aumento de armazenamento, ambientes de desenvolvimento rápido, escrita de código com IA, suporte à auditoria de código, e muito mais. (Recomendamos verificar a página de preços para ver tudo o que está disponível.)
É importante notar que o GitHub não é o único serviço neste espaço. Alternativas incluem Bitbucket, GitLab, etc.
Entretanto, Git e GitHub, claro, funcionam juntos como manteiga de amendoim e geleia, como você verá mais adiante neste artigo.
Primeiro as primeiras coisas: uma lista completa de todos os comandos Git que desenvolvedores e equipes de tecnologia devem conhecer para obter sucesso neste ambiente de controle de versão.
Github
GitHub é um serviço baseado em nuvem que desenvolvedores usam para armazenar seu código, acompanhar novas alterações e colaborar com outros desenvolvedores. É uma plataforma popular para colaboração em tempo real em projetos de software.
Leia Mais21 dos Comandos Git Mais Usados que Você Deve Conhecer
Você está pronto para a lista definitiva de truques do Git?
Nesta seção, vamos mergulhar nos comandos do Git, instruções, basicamente, que você precisa conhecer para usar o Git com sucesso. E, vamos até dar algumas dicas sobre como você pode usar cada um deles em um projeto.
Dica profissional para aproveitar ao máximo este documento: Pressione “command + F” em um Mac ou “Ctrl + F” em um Windows para abrir uma caixa de pesquisa para encontrar um comando específico, se você estiver procurando algo em particular.
git config
git config
é um comando útil para personalizar como o Git funciona em três níveis: o nível do sistema operacional (system), nível específico do usuário (global) e nível específico do repositório (local).
Experimente git config
com estes passos:
git config --global user.email [your email]
Este é um comando que muitos desenvolvedores executam logo após baixar o Git para configurar seu endereço de e-mail.
git config --global user.name [your name]
Para configurar seu nome de usuário.
git config --local
Personalize as configurações específicas do seu repositório local. Isso irá substituir as configurações padrão do Git nos níveis de sistema e global.
git pull
git pull
é o seu comando para buscar código de um repositório remoto e baixá-lo para o seu repositório local, que será então atualizado para corresponder ao que você acabou de puxar.
Este ato de fusão é fundamental para usar o Git. E, na verdade, é uma forma abreviada para dois outros comandos: git fetch
depois git merge
.
Aqui estão algumas maneiras comuns de usar este comando:
git pull [remote]
Busque um repositório remoto específico e o integre com o local em que você está trabalhando.
git pull --no-commit [remote]
Este comando ainda busca o repositório remoto, mas não o mescla automaticamente.
Já que o pull é um comando central do Git, existem toneladas de maneiras de usá-lo. Este guia para Comandos de Ramificação do Git oferece ainda mais exemplos e algumas combinações novas que você pode experimentar.
git fetch
git fetch
como um comando isolado baixa commits de repositórios remotos para repositórios locais. Ele oferece a oportunidade de ver e modificar o código de outros desenvolvedores.
Vamos tentar este comando:
git fetch origin
Baixa uma cópia do repositório remoto origin e salva localmente. Nada é alterado ou mesclado, ao contrário do que git pull
faz por padrão.
git fetch --all
Pegue dados de todos os repositórios remotos (incluindo origin).
git fetch --shallow-exclude=[revision]
Exclui commits de um ramo ou tag específico.
Tag
Uma tag do WordPress é uma taxonomia padrão que permite categorizar suas postagens. Os leitores podem então clicar na tag de uma postagem para visualizar artigos similares com a mesma tag.
Leia maisgit merge
O comando git merge
combina ramos (geralmente dois, mas pode ser mais) para criar um histórico singular. O Git destacará os conflitos que surgirem na fusão para serem corrigidos.
As opções para este comando incluem:
git merge [branch name]
Use isso para fazer a fusão das alterações da branch nomeada para a branch que você está usando.
git merge --abort
Interrompa a fusão e restaure o projeto ao seu estado anterior à fusão. Este comando ilustra perfeitamente como o Git ajuda a manter versões antigas do código para proteger o progresso do projeto.
git add
git add
é o comando a ser usado quando você está pronto para “salvar” uma cópia do seu trabalho. É frequentemente usado em conjunto com o próximo comando — git commit
— pois isso adiciona (ou seja, “comete”) o que foi salvo ao histórico em execução do projeto.
Aqui estão algumas maneiras de especificar o que salvar (ou “staging”) com este comando:
git add [file]
Isso prepara todas as alterações que você fez em um arquivo específico para que possam ser incluídas no próximo commit.
git add [directory]
Similar ao anterior, isso sinaliza mudanças em um diretório específico para que esteja pronto para o commit.
git commit
git commit
é o segundo comando na tríade de fazer e rastrear uma mudança no Git.
Este comando basicamente diz para armazenar quaisquer alterações que foram feitas com o comando git add
. Não para fazer as alterações no código principal, apenas para mantê-las em segurança.
Algumas opções para usar este comando incluem:
git commit --amend
Modifica o último commit em vez de criar um novo.
git commit -m [sua mensagem aqui]
Anote seu commit com uma mensagem, que deve ser inserida dentro dos colchetes.
git push
git push
completa o ciclo de colaboração no Git. Ele envia quaisquer alterações confirmadas de repositórios locais para remotos. A partir daqui, outros desenvolvedores no projeto podem começar a trabalhar com as atualizações. É o oposto do comando fetch.
Aqui está como usá-lo:
git push [remote] [branch]
Envie uma branch especificada, seus commits e quaisquer objetos anexados. Cria uma nova branch local no repositório remoto alvo.
git push [remote] --all
Envie todos os ramos locais para um repositório remoto específico.
git branch
Crie, edite e remova ramificações no git com o comando git branch
.
Use o comando de ramificação das seguintes maneiras:
git branch [branch]
Isso cria uma nova branch, que você pode nomear substituindo a palavra entre colchetes.
git branch -c
Este comando copia uma branch do Git.
git push [remote repo] --delete [ branch name]
Exclua uma ramificação Git remota, denominada no último conjunto de colchetes.
git checkout
Use o comando git checkout
para navegar entre os ramos dentro do repositório em que você está trabalhando.
git checkout [branch name]
Mude para uma diferente ramificação do Git, nomeada dentro dos colchetes.
git checkout -b [new-branch]
Crie simultaneamente uma nova branch e navegue até ela. Este atalho combina git branch
e git checkout [new branch]
.
git remote
Com o comando git remote
, você pode ver, criar e deletar conexões remotas, “favoritos” de certa forma, para outros repositórios. Isso pode ajudá-lo a referenciar repositórios em seu código sem ter que procurá-los e usar seus nomes completos, às vezes inconvenientes.
Experimente estes comandos remotos:
git remote add [alias] [URL]
Adicione um repositório remoto especificando seu link e atribuindo-lhe um alias.
git remote -v
Obtenha uma lista de conexões remotas e inclua os URLs de cada uma.
git revert
git revert
desfaz mudanças criando um novo commit que inverte as alterações, conforme especificado.
Uma maneira de (cuidadosamente!) usar git revert
é:
git revert [commit ID]
Isso só reverterá as mudanças associadas ao commit específico que foi identificado.
git reset
git reset
é um comando mais arriscado e potencialmente permanente para desfazer commits.
Este comando deve ser usado apenas em repositórios locais ou privados para evitar a possibilidade de interromper alguém que esteja programando em um repositório remoto e público. Uma vez que pode “órfão” commits que podem então ser excluídos na manutenção de rotina do Git, há uma chance real de que este comando possa apagar o trabalho árduo de alguém.
Este é um comando complexo que deve ser usado com discrição, portanto, antes de tentar usá-lo pela primeira vez, recomendamos fortemente a leitura deste guia de Git Reset do Bitbucket.
git status
git status
fornece insights sobre seu diretório de trabalho (onde todas as versões históricas armazenadas estão localizadas) e área de staging (uma espécie de área “em construção” entre o diretório e o repositório). Com este comando, você pode ver a situação dos seus arquivos.
Existe uma maneira principal de usar este comando:
git status
Veja uma lista de arquivos preparados, não preparados e não rastreados.
git clone
Use git clone
para criar uma cópia de um repositório existente. Isso é útil para criar um duplicado de um repositório no qual você pode mexer sem danificar nada que esteja ao vivo para o público.
Aqui estão algumas opções para usar este comando:
git clone [repository URL] --branch [branch name]
Clone o repositório vinculado, em seguida, vá diretamente para um ramo específico dentro dele.
git clone [repo] [directory]
Clone um repositório específico em uma pasta específica no seu computador local.
git init
Use o comando git init
para criar um novo repositório Git como um subdiretório .git no seu diretório de trabalho atual. É diferente de git clone
, pois pode criar um novo repositório em vez de apenas copiar um existente.
As aplicações mais comuns deste comando incluem:
git init
Onde tudo começa, isso transforma seu diretório atual em um repositório Git.
git init [directory]
Com isso, você pode transformar um diretório específico em um repositório Git.
git init --bare
Isso gera um novo repositório bare, do qual não podem ser feitos commits. Isso cria um ambiente útil de Staging para colaboração.
git rebase
git rebase
possui poderes de reescrita de histórico que ajudam a manter seus commits organizados e limpos.
É uma opção quando você precisa integrar atualizações na branch principal com uma fusão de fast-forward que mostra um histórico linear.
git rebase [target branch name]
Rebase sua branch verificada em uma branch alvo específica.
git rebase [nome da branch alvo] -i
Inicie um rebase interativo da sua branch verificada para uma branch alvo diferente.
Este é outro comando complexo que não deve ser usado em um repositório público, pois pode remover elementos importantes do histórico do projeto. Para saber mais sobre como as versões padrão e interativa deste comando funcionam, recomendamos novamente o Bitbucket e o guia de git rebase deles.
git diff
“Diffing” é a prática de exibir as variações entre dois conjuntos de dados.
O comando git diff
mostra variações entre fontes de dados Git, como comentários, arquivos, etc.
As opções para usar este comando incluem:
git diff --staged
Mostra a diferença entre o que está preparado mas ainda não foi confirmado.
git diff [commit ID 1] [commit ID 2]
Este comando compara as alterações entre dois commits diferentes.
git tag
O comando git tag
aponta para um momento na história do Git, geralmente um lançamento de versão. As tags não mudam como os branches.
git tag [tag name]
Use isso para nomear uma tag e capturar o estado do repositório naquele momento.
git tag -d [tag name]
Quer remover essa tag? Execute este comando.
git rm
O comando git rm
remove arquivos tanto do staging quanto do diretório de trabalho.
Aqui estão algumas maneiras de experimentar o git rm
:
git rm [file]
Este é o código básico para preparar um arquivo para exclusão no próximo commit.
git rm --cached
Isso remove um arquivo da área de staging, mas mantém no diretório de trabalho para que você ainda tenha uma cópia local, caso precise.
git log
git log
oferece, bem, um registro de todos os commits no histórico de um repositório.
Pronto para experimentar? Aqui vamos nós:
git log [SHA]
Um Algoritmo de Hash Seguro (SHA) é um identificador único para cada commit. Use este comando para exibir um determinado commit, bem como todos os outros commits feitos anteriormente.
git log --stat
O comando exibe quais arquivos foram alterados em cada commit, número de linhas adicionadas/removidas e número de arquivos e linhas editadas.
git show
Este comando de linha de comando git show
fornece detalhes sobre diferentes objetos Git como árvores, tags e commits.
Aqui estão algumas maneiras de executar este comando:
git show [SHA]
O mais simples dos comandos git show
, use o SHA que acabamos de aprender acima para mostrar os detalhes de qualquer objeto.
git show [SHA]:path/to/file
Isso mostrará uma versão específica de um arquivo que você está procurando quando incluir seu SHA.
Ainda está aprendendo a usar o Git, tem alguma dúvida sobre os comandos acima ou está ansioso para mergulhar em ainda mais variações que você pode usar para manipular seu código de milhares de maneiras?
Precisamos destacar os tutoriais de Git do Bitbucket como um recurso ótimo, profundo e interconectado que pode levar você a quase todos os lugares que deseja ir com o Git.
E você deveria ir. Afinal, código aberto, e a tecnologia Git que alimenta a maior parte dele, é o futuro dos negócios.
Comandos na Vida Real: Como Desenvolver no WordPress Usando Git + GitHub
Nós acabamos de apresentar uma série de termos e truques possivelmente novos para você.
Se você não está muito envolvido com Git, pode ser difícil ver como tudo isso pode funcionar juntos em um cenário real.
Então, vamos finalizar com um guia de como usar o Git e o GitHub para se preparar para desenvolver em um site WordPress.
1. Instalar WordPress.org
Primeiro, a parte do WordPress.
Você vai instalar uma instância do WordPress.org (aprenda a diferença entre WordPress.com & WordPress.org se não estiver familiarizado) e criar um ambiente de staging local no seu computador.
Se você ainda não tem um ótimo processo para isso, nós gostamos da ferramenta de desenvolvimento específica para WP do Local.
2. Instalar Git
E assim, chegou a hora da parte do Git.
Instale o Git, caso ainda não o tenha feito. Encontre a versão mais recente no site do Git.
Muitos computadores Mac e Linux já têm o Git instalado. Verifique o seu abrindo a sua interface de linha de comando (como o Terminal no Mac ou Git Bash no Windows) e digitando o primeiro comando deste tutorial:
git --version
Se o Git estiver instalado, você receberá um número de versão de retorno. Se não, este guia de instalação do Git o ajudará a começar.
3. Criar um Repositório Local com Git
Agora, vamos criar o seu repositório Git local.
Acesse a pasta do tema do seu WordPress (este exemplo inclui o Twenty Twenty-One) usando este comando:
cd/Users/[you]/Documents/Websites/[website]/wp-content/themes/twentytwentyone
Substitua [you] e [website] pelos nomes de suas próprias pastas. Em seguida, inicialize este diretório como um repositório com este comando:
git init
Para adicionar todos os arquivos na pasta ao índice, digite:
git add
Confirme suas alterações com uma notação que manterá seu histórico organizado com este comando:
git commit -m “primeiro commit"
Seu repositório local está configurado!
4. Crie um Repositório Remoto com GitHub
Neste ponto, você deseja criar uma conta no GitHub se ainda não tiver uma.
Uma vez criado e conectado, você pode criar um repositório remoto a partir do seu painel do GitHub.
Quando você terminar de seguir os passos para configurar seu novo projeto, é hora de colocar seu tema do WordPress no seu novo repositório remoto no GitHub.
5. Adicionar Projeto WordPress ao GitHub (Aprendendo a Enviar)
Use estes comandos no Git para enviar seu tema do WordPress para o GitHub:
git remote add origin [repo URL]
git push -u origin master
Substitua a URL entre parênteses por um link para o repositório que você acabou de configurar no GitHub.
A seguir, será solicitado que você insira seu nome de usuário e senha do GitHub.
Uma vez que esses estão inseridos, os arquivos já comprometidos com seu repositório local serão enviados para seu repositório no GitHub.
6. Opcional: Buscar (também conhecido como Pull) Atualizações
Agora que você enviou mudanças do seu repositório local para o repositório remoto no GitHub, a última coisa a aprender é como puxar mudanças para que você possa fazer o inverso — adicionar atualizações do repositório remoto ao seu local.
Claro, se você estiver trabalhando de forma independente em um projeto de codificação, não precisará fazer esta etapa. No entanto, é útil saber, pois se torna necessário imediatamente assim que você estiver colaborando com uma equipe que está fazendo e enviando atualizações.
Então, vamos puxar atualizações para o local usando o comando fetch:
git fetch [URL]
Não se esqueça de substituir [URL] pelo link do repositório de onde você está puxando.
Com isso, as alterações são puxadas do GitHub e copiadas para o seu local, de modo que ambos os repositórios ficam iguais. Você está sincronizado e pronto para trabalhar na versão mais recente do projeto!
Ainda precisa de ajuda com o Git?
Para um guia mais detalhado do processo acima, confira nosso guia completo em Como Usar o GitHub para Desenvolvimento WordPress.
Ou, melhor ainda, contrate nossos especialistas em desenvolvimento na DreamHost.
Deixe-nos cuidar de ajustes pontuais no site até a gestão completa do site, para que sua equipe possa voltar ao trabalho de desenvolvimento e gestão que impulsiona o seu negócio para frente.
Você Sonha, Nós Codificamos
Aproveite mais de 20 anos de experiência em codificação ao optar pelo nosso serviço de Desenvolvimento Web. Basta nos informar o que você deseja para seu site — cuidamos do resto.
Saiba Mais