- Introdução GIT
- Instalação
- Configurando suas preferências
- Principais Repositórios
- Repositório local
- Repositório remoto
- Branches
- Apêndice
- Referências
-
Qual a necessidade de um sistemas de versionamento?
- Como detectar que estamos alterando o mesmo código que um colega?
- Como mesclar as alterações que fizemos com a demais alterações da equipe?
- Como identificar conflitos entre essas alterações?
-
GIT x SVN
- Sistemas de versionamento centralizados
- Sistemas de versionamento distribuídos
-
Git e GitHub são as mesmas coisas?
-
Como é de praxe:
- GIT foi criado em 2005 por Linus Torvalds (criador do Linux)
- GitHub - Rede Social para programadores
- Bitbucket
- Google Code
- $ sudo apt-get install git
-
git config --global user.name "Danilo Paiva"
-
git config --global user.email danilopaivasilva@gmail.com
- git config --global core.editor vim
- git config --global credential.helper 'cache --timeout=28800'
- git config --list
- git init
- git status
- git add
- git diff
- .gitignore
- git commit -m
- git log
- git checkout -- "file"
- git reset -- "file"
- git reset --hard
- git revert --no-edit HEAD
- git init
- git remote add origin https://github.com/danilopaiva/minicurso-git-docs.git
- git remote -v
- git remote rename origin github
- git push origin "branch"
- git pull origin "branch"
- git fetch origin "branch"
Convenções Git Flow:
Convenções Git Flow:
-
git branch
-
git branch -v
- git branch feature/x
- git checkout feature/x
-
git branch -r
-
git branch -a
-
git checkout develop (Voltando para a branch develop)
-
git merge feature/x -m "Mesclando com a branch feature/x"
Para que não haja a necessidade de ficar o tempo todo executando o "git status" só para ver em qual branch você está, é possível configurar seu terminal para que ele lhe apresente a branch corrente conforme as imagens abaixo:
Branch master:
Branch feature/appendix:
- Abra o arquivo .bashrc:
vim ~/.bashrc
- Adicione as seguintes linhas no final do arquivo:
parse_git_branch() {
if ! git rev-parse --git-dir > /dev/null 2>&1; then
return 0
fi
git_branch=$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')
echo "[$git_branch]"
}
PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;31m\]\$(parse_git_branch)\[\033[00m\]$ "
Feche seu terminal atual e abra um novo que já estará com as novas configurações.
- ProGit - https://git-scm.com/book/en/v2
- Git e GitHub - https://www.casadocodigo.com.br/products/livro-git-github
Vale muito apena ver o blog do Fernando Jorge que exemplifica bem o Git Flow: https://fjorgemota.com/git-flow-uma-forma-legal-de-organizar-repositorios-git/