Git Básico: Uma Análise Profunda nos Comandos Essenciais
Quando comecei a usar o Git, não existia nenhuma ferramenta GUI para gerenciar um repositório. Tudo tinha que ser feito via linha de comando. Após alguns anos, algumas boas ferramentas foram introduzidas, tornando o ciclo de vida do desenvolvedor mais produtivo com algumas GUIs do Git e ferramentas Git integradas a IDEs. Nesta série de posts, não falarei sobre GUIs do Git. Vou falar sobre o Git na linha de comando, e começaremos agora.
git config
A primeira coisa que precisamos fazer antes de usar o Git é configurar nossa identidade. Nossa identidade contém nosso nome e e-mail. Isso é importante para definir a autoria do commit. Para fazer isso globalmente em sua máquina, digite o seguinte:
Você pode verificar qual valor está configurado removendo o último parâmetro.
Essa configuração global é armazenada no arquivo .gitconfig no diretório home da sua máquina. Você pode verificar todas as configurações do Git desta maneira:
Além disso, se precisar especificar uma identidade diferente para um repositório específico em sua máquina, remova o parâmetro –global e execute o comando dentro do seu repositório.
Quando você faz isso, essa configuração é armazenada no arquivo de configuração dentro do diretório .git do projeto, e você pode ver o que existe dentro dele.
Com isso, estamos prontos para continuar a usar o Git. Mas vou mostrar outra configuração. Você pode escolher o editor que deseja usar quando o Git solicitar uma mensagem de commit ou quando ele precisar da sua ajuda para realizar alguma operação. Você pode escolher o editor preferido para interagir quando o Git solicitar algo a você. O editor vim será escolhido por padrão em máquinas Unix se nada estiver configurado, mas você pode escolher o nano se preferir.
Estou acostumado com o vim. Não gosto do nano. Mas, para quem está usando a linha de comando pela primeira vez, pode ser melhor usar um editor de código para isso, como o VS Code.
Você pode verificar como configurar outros editores, como Sublime e TextMate, lendo esta documentação.
Após isso, você está preparado para criar seu primeiro repositório.
git init
Quando criamos um novo projeto usando uma IDE, geralmente o repositório Git é criado automaticamente. Mas, se não estivermos usando um editor de código robusto ou simplesmente criando um novo projeto do zero, podemos digitar o seguinte para criar uma nova pasta e um repositório dentro dela:
Com este simples comando, uma pasta com o nome do seu projeto será criada onde você está na linha de comando, e o repositório será iniciado. Você verá uma pasta oculta chamada .git dentro do seu projeto. No macOS, você pode pressionar o atalho CMD + SHIFT + . para vê-lo, pois é uma pasta oculta. Mas atenção: não mexa nesta pasta, pois você pode danificar seu repositório.
Se você já tiver uma pasta ou um projeto inteiro em um diretório específico e quiser criar um repositório, faça o mesmo mas omitindo o nome do projeto.
Agora estamos prontos para o próximo passo: Adicionar alguns arquivos ao repositório.
git add
Ao atualizar um projeto e precisar versioná-lo, devemos adicionar essas alterações ao repositório. O primeiro passo é incluir os arquivos modificados usando o seguinte comando:
Este comando adicionará todas as suas alterações. Se preferir, você pode especificar o nome de um arquivo ou diretório específico para adicionar. Isso é útil quando você deseja dividir seus commits.
Você pode especificar mais de um arquivo ou diretório de uma vez. Basta adicionar um espaço e o nome que deseja.
Além disso, você pode adicionar arquivos usando Fileglobs para filtrar seus arquivos por extensão, por exemplo. Suponha que você altere arquivos Swift e arquivos de texto e queira adicionar apenas os arquivos Swift no commit:
Compartilharei mais dicas sobre este comando, mas não agora. Este comando adiciona os arquivos ao stage mas ainda não comitamos. Vamos aprender isso agora.
git commit
Agora é a hora de incorporar nossas alterações à história do repositório.
Se você seguir esta abordagem, o Git pedirá a mensagem do commit. Eu recomendo incorporar a mensagem do commit através de um parâmetro para evitar qualquer prompt do Git.
A mensagem do commit pode ser dividida em duas partes: título e descrição. No exemplo acima, especificamos apenas o título da mensagem. Seguindo boas práticas, precisamos ser muito concisos no título. Se precisarmos adicionar uma explicação, podemos quebrar a linha duas vezes e escrever uma descrição longa com detalhes. Note que a aspa não está no final do título. Ela está localizada no final da descrição.
Para as melhores práticas de mensagens de commit, sugiro que você leia este post. Foi escrito em 2014, mas ainda é muito relevante.
git status
Digite o comando status para ver o que está acontecendo no seu diretório de trabalho.
Abaixo do comando, o Git me diz que estou em uma branch chamada main
e que não há nada para fazer commit. Se eu mudar algum arquivo que já existe no repositório, o resultado será o seguinte:
Não podemos ver aqui, mas o Git nos mostra em vermelho os arquivos que não estão em stage. Se adicionarmos o arquivo ao stage usando git add
e executarmos novamente git status
, o arquivo aparecerá na cor verde.
Se adicionarmos algum novo arquivo ao repositório, o Git nos dirá que o arquivo não está sendo rastreado por ele, e você pode mudar isso usando git add
.
E agora, o que vem a seguir? Vamos ver o log dos commits.
git log
Cada commit no repositório pode ser visualizado usando o comando log. Você pode verificar quem o fez, quando e o que ele faz com base na mensagem do commit. Além disso, você pode usar o hash do commit para ver a alteração completa, mas não veremos isso neste post básico.
Se o seu repositório tiver muitos commits, eles serão paginados com base na altura do seu terminal. Para navegar e ver mais commits, basta pressionar a barra de espaço.
A jornada continua
Acredito que esses são os primeiros comandos que você precisará ao usar o Git pela primeira vez, e você os usará com frequência. Mas este não é o fim! Fique ligado porque em breve publicarei mais posts sobre Git, abordando mais comandos.
Compartilhe sua opinião sobre esta postagem nos comentários. Existe outro comando essencial do Git que você acredita que deveria ser incluído?
Até breve!