Git

O Git é um software para controle de versão de arquivos muito utilizado em desenvolvimento de sistemas. Rastreia e administra as alterações realizadas no código fonte do software, ou seja, ele salva todas e qualquer mudança realizada no texto, sejam adições de linhas, exclusões, com histórico atrelado ao usuário que fez essas alterações.

O controle de versão mantém esse histórico guardado, facilitando voltar para algum "estado anterior" caso alguma alteração cause problemas.

GitHub

O GitHub é uma plataforma de hospedagem de código-fonte e arquivos com controle de versão usando o Git.

Funciona como um drive, um local para salvar seus códigos online e compartilhar com mais pessoas que poderão trabalhar também. Assim, várias pessoas conseguem trabalhar juntas em um projeto e acompanhar as alterações que outras pessoas fizeram, mantendo o projeto sempre atualizado.

Bash / GitBash

Bash é um interpretador de comandos, um entre os diversos tradutores entre o usuário e o sistema operacional conhecidos como shell.

Para quem está utilizando o sistema operacional Windows, recomendamos usar o GitBash para que possa ter disponíveis os comandos Git e outros comandos mais conhecidos em sistemas operacionais Unix (MacOS e distribuições Linux)

Vamos conhecer alguns comandos básicos:

Como identificar o diretório atual

pwd

Alterar a localização para o diretório informado

cd <diretório>

Alterar a localização para o diretório superior

cd ..

Muda a localização para a pasta Home (pasta inicial do usuário)

cd ~

Lista o conteúdo do diretório atual

ls

Lista o conteúdo do diretório atual incluindo ocultos

ls -a

Limpa a tela do terminal

clear

Mostra os últimos comandos executados

history

Repositórios Remoto x Local

Remoto

Repositório remoto é o repositório que você pode compartilhar seu código com outras pessoas. Exemplos de plataformas onde ele pode estar hospedado: GitHub, GitLab, BitBucket.

Local

Repositório local é que está na sua máquina.

Staging Area é um espaço temporário onde você determina quais mudanças serão adicionadas.

Finalmente o diretório de trabalho, onde o git disponibiliza uma cópia dos arquivos para que você possa fazer as modificações.

Veja abaixo uma representação do que acabamos de falar:

Esquema organizacional git

Veremos alguns comandos básicos:

INIT

Para iniciar um novo repositório local utilizando o comando git init. Caso seja necessário vincular a um repositório remoto é possível configuração de REMOTE em outro momento.

git init

CLONE

O comando git clone baixa um repositório já criado remotamente (github, gitlab, bitbucket)

git clone <repositorio-remoto>

STATUS

Lista arquivos modificados no working diretory ou arquivos adicionados em staging area que não tenham sido persistidos no repositório.

git status

DIFF

Mostra as diferenças entre os arquivos do working diretory e o repositório.

git diff

ADD

Adiciona arquivos/diretórios na staging area

# git add <variações>
git add .  # adiciona todas as alterações da pasta atual
git add arquivo.md  # adiciona somente o arquivo.md
git add arquivo.md arquivo2.md  # adiciona os dois arquivos indicados
git add pasta_x  # adiciona um diretório (pasta_x) inteiro incluindo as modificações dentro dele

COMMIT

Cria um commit enviando (persistindo) ao repositório local. Um commit, ou "revisão", é uma mudança individual em um arquivo (ou conjunto de arquivos)

git commit -m "mensagem"

PULL

Baixa as modificações do repositório remoto (origin) e ramificação principal (main).

# git pull <remoto> <branch>
git pull origin main

PUSH

Envia as modificações (commits) do repositório local para o repositório remoto (origin) e ramificação principal (main).

#git push <remoto> <branch>
git push origin main

LOG

Mostra o hitórico de commits do repositório local.

git log

Branch

Ramificação da base do código. Não vamos aprofundar neste curso a utilização de ramificações, por isso vamos sempre utilizar a ramificação main (principal).

Dicas de conteúdos extras sobre Git

Folha de dicas de GIT: versão Web versão PDF

Para ampliar seu conhecimento em GIT, recomendamos esse curso gratuito.

Veja ainda este site (em inglês) que te ajuda a encontrar comandos: Git Command Explorer

E quando acontecem coisas não muito agradáveis no caminho, você pode ver algumas soluções no Oh Shit, Git!?!

Last updated