Executando verificação de segurança...
5

[Guia] básico sobre Git

O que é o Git

O Git é um dos sistemas de controle de versão mais utilizados no mundo de desenvolvimento de software;

Isso significa que qualquer desenvolvedor numa equipe pode gerenciar o código-fonte e seu histórico de mudanças;

É gratuito e com o código fonte aberto;

Porque usar?

O Git pode ser usado em todo e qualquer projeto que tenha arquivos de diferentes tipos, podendo ser código, texto, imagens, vídeos, áudios, entre outros;

Desempenho / Segurança / Flexibilidade;

Compartilhar e organizar o código entre o time de desenvolvimento;

Backup e facilidade em reverter alterações;

Interfaces usadas

São ferramentas para hospedar os respositórios;

Facilitam a visualização do repositório;

Agregam funcionalidades;

Podem ter custos;

  • GitHub - Muito usado no "mundo open source"
  • GitLab - Tem mais recursos de CI/CD e gerenciamento de tarefas
  • GitBucket - Tem mais recursos de CI/CD e gerenciamento de tarefas

Instalando

Linux

	sudo apt-get install git-all

Windows

Agora vamos ver as principais funções na prática

Criar um repositório

  • Crie uma conta no GitLab

  • Crie um projeto

  • Observação: É possível usar o Git apenas localmente na máquina, mas o normal é que fique hospedado em algum serviço.

Clonar o repositório

Cria uma cópia de trabalho local do projeto;

  • Abra o terminal
  • Navegue até a pasta desejada
	git clone URL_DO_REPOSITÓRIO
  • Informe usuário e senha

Configurar o usuário:

  • Nome: git config --global user.name "NOME"
  • Email: git config --global user.email "EMAIL"

Criar uma branch de trabalho

O que é uma branch

Branch significa “ramo”, ou seja, uma ramificação do seu código;

É usado para fazer modificações no código, sem afetar o código principal;

Representação gráfica:
Branches

Comandos

  • Lista as branches existentes: git branch

  • Criar uma nova branch: git checkout -b NOME_DA_BRANCH

  • Mudar de branch: git checkout NOME_DA_BRANCH

Status

  • Lista os arquivos que foram modificados: git status

Add

  • Adiciona os arquivos modificados para serem comitados

    • Todos: git add .

    • Por arquivo: git add CAMINHO_DO_ARQUIVO

Commit

Registra/salva as modificações que foram incluídas no 'add'

  • Fazer o commit: git commit -m "Mensagem descrevendo o commit"

Push

Envia os commits locais para o servidor

  • Fazer o push: git push

Pull

Busca as atualizações do repositório para o ambiente local

  • Fazer o pull: git pull

Merge

Une a branch atual com outra branch

  • Fazer o merge: git merge NOME_DA_BRANCH

Tag

Cria uma "versão do código" estática

Usado para versionar os projetos

  • Listar as tags: git tag

  • Criar tag: git tag -a vNUMERO -m "DESCRICAO"

  • Envia a tag: git push origin vNUMERO

GitFlow

É uma ideia de como usar e organizar as branches;

É um fluxo de trabalho para o Git;

É um padrão que muitas empresas/projetos adotam, totalmente ou ao menos parciamente;

Imagem que representa o fluxo:
GitFlow

Referência:

Documentação Atlassian

Carregando publicação patrocinada...
1

Adiciono a informação caso enviei um commit errado e quero voltar ao commit anterior
git reset HEAD^
git reset HEAD~
git reset HEAD~1

Caso queira voltar um commit específico podemos usar o seguinte comando
git reset --hard commit-id

1
1
1
1
1
1

Muito legal a postagem 🎉

Uma consideração sobre a frase:

O Git pode ser usado em todo e qualquer projeto que tenha arquivos de diferentes tipos, podendo ser código, texto, imagens, vídeos, áudios, entre outros;

Concordo, pode ser usado para diferentes tipos de arquivo. No entanto, o git foi feito para versionar texto, isto é, código. Portanto, ao versionar arquivos "banários"(imagens, videos, audios) o git não é eficiente. Por exemplo, toda vez que você altera um vídeo no git este video é duplicado internamente, o que torna o repositório mais pesado(isto não ocorre com texto).

Para resolver esse problema existe a extensão Git LFS.

Sobre esse comportamento, é explicado no vídeo do fábio akita: Usando Git direito.

1
1

Muito bom! Obrigado pelo post. Gostaria de acrescentar um comentário sobre a instalação nos sistemas base linux. Acontece que nem todas as distribuições utilizam o apt para instalar pacotes. Em distros base Ubuntu (consequentemente Debian) faz-se uso do código como escreveu no post:

sudo apt-get install nome_do_pacote

No Fedora, por exemplo, utiliza o dnf:

sudo dnf install nome_do_pacote

No Arch e derivados uriliza-se o pacman:

sudo pacman -Sy nome_do_pacote

É importante consultar o gerenciador de pacotes de cada distribuição. Cuidado ao utilizar o sudo para instalar pacotes que não conhece, pois ele fornece permissões de super usuário ao executar a tarefa de instalar o pacote.

1