View
261
Download
0
Category
Preview:
Citation preview
@americano
git & GitHub Para iniciantes
Knowledge worker
Estamos na era da informação e somos knowledge workers! Trabalhamos com a bunda sentada na cadeira, operando
um computador criando e editando documentos.
Fluxo de trabalho
1. Criar um arquivo 2. Salva-lo 3. Editá-lo 4. Salva-lo de novo 5. etc.
Vida de arquivo
Controle de versão manual
Podemos automatizar isso?
Para cada versão do documento, precisamos de saber:
1. Quando o arquivo foi modificado? 2. O que mudou? 3. Por que ele foi modificado?
E tem mais… trabalhando em times
Mais uma perguntinhaPara cada versão do documento, precisamos de saber:
1. Quando o arquivo foi modificado? 2. O que mudou? 3. Por que ele foi modificado? 4. Quem fez a modificação?
Resumindo
Queremos uma ferramenta que:
1. “traqueie” a versão do documento 2. mantenha um histórico das mudanças
no documento 3. incentive o trabalho em grupo
Setar ID
$ git config --global user.name "Sebastien Saunier”$ git config --global user.email "seb@lewagon.org"
Comandos básicos
Starting
$ mkdir new_project$ cd new_project$ git init
Status
$ git status
git te informa se houve alguma mudança no diretório em que você está trabalhando (diretório sujo)
Commit
2-steps process
# Select which file to add to the commit.$ git add <file_1_which_has_been_modified>$ git add <file_2_which_has_been_modified>
# Take a snapshot of what is in the staging area.$ git commit --message "A meaningful message about this change"
Diff
Use git status para saber se houve mudanças no diretório e use git diff para saber exatamente o que mudou:
$ git diff$ git diff <a_specific_file_or_folder>
Log
Veja o histórico de commits
$ git log
Branching
One feature = One branch
Branch
$ git branch my-feature
Trabalhando no Branch
$ git checkout my-feature$ git commit (x2)
Merge
$ git checkout master$ git diff master..my-feature$ git merge --no-ff my-feature
Clean up
$ git branch -d my-feature
Remote
We need a remote!
Crie um repositório no GitHub: https://github.com/new
$ git remote add origin https://github.com/<user>/<project>.git
Push
Compartilhe seu código com seu time (e com o mundo!)
# Generic command$ git push <remote> <branch>
# What we'll use$ git push origin master
Pull
# Generic command$ git pull <remote> <branch>
# What we'll use$ git pull origin master
Página de perfil
Página de repositório
Commits & Branches
Pull requests
Issues
Forks
Colaboração open source
Github pages
Hospedando seu site estático de graça!!
Repo example: lewagon/ui-components
Obrigado!
Recommended