Curso básico de git
O que é o git?
Sistema de controle de versão de arquivos
Por que usá-lo?
- Integração contínua
- Várias pessoas em um projeto
- Fácil de mesclar alterações
- Controle do workflow
- Concentre/compartilhe seus projetos
Como o git funciona
- Seu projeto está contido em um diretório
- Diretório .git
- Snapshots
- Acesso remoto a servidores
Começando um projeto
- Local
- Site (gitlab, github, etc)
Começando um projeto
-
Local
- mkdir meuProjeto
- git init meuProjeto
- .gitignore
Começando um projeto
-
Repositório
- Use a interface
- git clone
Obs: É possível criar um projeto local e depois adicioná-lo ao repositório
Commits
-
Cria um snapshot do projeto
- Armazena somente as alterações
- Alteração é feita apenas localmente
- Tags (Hashes)
Commits
-
git add <arquivo alterado>
- git add -A
- git commit -m "Alterei algo"
- git push
- git push origin master
Commits
- git pull
- git fetch
- git log --oneline
- git checkout <hashe commit>
Commits
Branchs
- Paralelismo de desenvolvimento
- Partem de algum commit da "história" do master
Branchs
Branchs
- git branch <nome da nova branch>
- git checkout <nome da branch>
-
git branch
- Diz qual em qual branch você está
- Se há alterações, não é permitido trocar de branch
Como juntar branchs?
- git merge
-
git rebase
- Um pouco avançado, porém útil
Merge
Merge
Text
- git checkout master
- git merge outraBranch
Isso colocará o merge na master
Merge - Conflitos
Ne
- Nem tudo é perfeito
- Alterações no mesmo arquivo podem gerar conflitos
- Merge busca o ancenstral comum
Nessas horas, rebase parece ser interessante além de outros truques "ninjas"
Merge requests
Outros comandos
Text
- git stash
- git config --local
-
git config --global
- user.name
- user.email
- core.editor
Outros comandos
Text
- git status
- git diff
Boas práticas
- Evite git add -A
- Evite alterações de mesmos arquivos em branchs separadas
-
Dê commits concisos
- Trabalhe em uma coisa de cada vez
- Evite dar push para cada commit
Boas práticas
-
Evite abandonar branchs
- Tenha o costume de dar merge e resolver conflitos
- O que está na master deve funcionar
- Branchs dentro das Branchs
Boas práticas
- Dê merge com frequência
- Use merge request
- Primeiro dê merge do master em você antes de dar nele
- README.md
- Uma branch para cada issue
Controle de projeto
Issues
- Problemas / Bugs / TODO's
- Labels
- Responsável
- Data limite e tempo gasto
- Visualizar alterações
- Data de abertura e fechamento das issues
Millestones
- Conjunto de issues
Integração com outras aplicações
Curso básico de git
By Bruno Henrique Meyer
Curso básico de git
- 879