iespes

Git Basics

Conceitos básicos para utilização do git/github.

O git é um versionador de arquivos, ou seja, ele funciona conservando um histórico de modificações (ou versões) dos arquivos especificados. Além disso, acrescenta uma funcionalidade de criar ramificações no código, ou branches, o que facilita a divisão de trabalhos em uma equipe de programação e a garantia de funcionamento do código principal.

O histórico do git funciona, inicialmente, de acordo com uma lista de commits, que guardam as modificações de determinada versão, e todas as informações sobre ela. Um commit pode ser definido como um ponto na história do repositório.

Instalação:

No ambiente Ubuntu, com o gerenciador de pacotes apt, basta rodar o comando:

~$ sudo apt install git -y

Assim os comandos git já estarão disponíveis para utilização.

Comandos Básicos:

Exemplo simples:

Digamos que queremos criar um repositório git chamado ‘repo’ e colocar o arquivo README.md com o conteúdo abaixo:

# Comandos básicos de git

Seguindo os passos:

~/repos$ mkdir repo # cria a pasta 'repo'
~/repos$ cd repo # entra na pasta
~/repos/repo$ git init # inicia o repositório git
~/repos/repo$ touch README.md # cria o arquivo 'README.md'
~/repos/repo$ echo '# Comandos básico de git' >> README.md
# adiciona o texto indicado ao final do arquivo (pesquise sobre o comando echo)
~/repos/repo$ git status # verificando o estado dos arquivos
~/repos/repo$ git add README.md # muda o arquivo para staged
~/repos/repo$ git commit -m 'adicionando o arquivo README'
# cria o ponto na história do repositório com o novo arquivo
~/repos/repo$ git status # confirmando o estado dos arquivos
~/repos/repo$ git log # verificando o histórico do repositório

Manipulação de branches:

Como já discutido anteriormente, em um repositório git existe a possibilidade da criação de ramificações ou ‘galhos’ (branches). Com a utilização de branches podemos desenvolver diferentes features (funcionalidades) paralelamente e ao final somente adicionarmos essas modificações na branch main (veja o comando merge), a branch principal.

Para a manipulação das branches temos os seguintes comandos:

Sincronização com o Servidor Remoto:

O funcionamento de um repositório git não depende fortemente de um servidor remoto como o Github, BitBucket ou GitLab, porém, em certas ocasiões é de grande utilidade um servidor remoto. Aqui utilizaremos o Github como padrão mas as rotinas serão semelhantes em qualquer outro serviço de hosting de git.

Para a manutenção do repositório remoto do git fazemos uso de 5 principais comandos, são eles:

Quando temos um fork (uma ramificação) de um repositório e queremos mergear a branch main desse no original precisamos criar um pull request. O pull request é um pedido para mesclagem das branches que deve ser aprovado pelo responsável do repositório original. A criação desses pull requests pode ser feita diretamente do serviço de git remoto, nesse caso, o Github.

Comandos Mais Avançados: