Ruby on Rails Fullstack

GIT  & GITHUB

O Problema dos 1000 fins

GIT & GITHUB

  • Trabalho_final.c
  • Trabalho_final2.c
  • Trabalho_final_oficial.c
  • Trabalho_final_REVISADO.c
  • Esqueci_do_ponto_e_virgula.c

GIT & GITHUB

Grupo de 4+ pessoas

  • Quem foi o último a editar?
  • Qual a diferença daquela versão pra minha?
  • Quem está com a versão mais recente?

Controlador de versões mais amado pelos programadores

Seus Problemas Acabaram

Brincando um pouco com Git

# Criando um repositório local
mkdir my_repo && cd $_     # cria a pasta my_repo e entra na mesma
git init                   # inicia o git na pasta atual

# Pegando de um repositório online
git clone <ssh_do_repositório> # baixa o repositório numa pasta nova

LIVECODE TIME

O que está diferente?


# Compara a última versão salva com a versão atual e 
# cita os arquivos adicionados / removidos / modificados

git status    # comando completo
git st        # abreviação
gst           # para os full preguiçosos

O que está diferente? (2)


# Compara arquivos específicos, explicitando quais foram as mudanças
# feitas em relação à última versão

git diff <nome_do_arquivo>    # mostra explicitamente as mudanças feitas em <nome_do_arquivo>
git diff                      # mostra explicitamente as mudanças feitas em todos os arquivos
gd                            # idem (full preguiça)

Salvando as modificações


# Seleciona quais arquivos serão salvos numa nova versão
git add <path_to_file>        # prepara um arquivo para ser salvo
git add .                     # prepara todos os arquivos modificados
ga .                          # idem (full preguiça)

# Salva os arquivos selecionados e deixa uma mensagem
git commit --message "Bug Resolvido"  # salva os arquivos com a mensagem "Bugs resolvidos"
git commit -m "Bug resolvido"         # idem (abreviação)
gc -m "Mensagem"                      # idem (full preguiça)

Removendo as modificações


# Seleciona quais arquivos não serão salvos numa nova versão
git checkout -- <path_to_file>  # desfaz todas as alterações no arquivo
git co -- .                     # abreviação + desfaz as alterações em todos os arquivos
gco -- .                        # idem (full preguiça)

Revendo versões


# Revisão das versões anteriores de jeitos diferentes

git log                       # mostra todos os commits e suas respectivas mensagens
glog                          # abreviação

git log -p <path_to_file>     # mostra alterações feitas através dos tempos num arquivo
glog -p <path>                # abreviação

git blame -p <path_to_file>   # quem alterou o quê e quando no arquivo especificado
gbl -p <path_to_file>         # abreviação

Muito, mas muuuito mais

Mas e meu abigo que tá fazendo o mesmo trabalho na casa dele?!

Conheça seu novo amigo

Seu ajudante online de 8 tentáculos

Brincando um pouco com GitHub

Brincando um pouco com GitHub

Link

Git <=> GitHub


# Link do seu repositório local (Git) 
# com seu repositório remoto (GitHub)

git remote add <name> <url>     # linka o repo. remoto com nome <name>
gr add <name> <url>             # abreviação
gra <name> <url>                # preguiça

Salvando sua versão no GitHub


# Salvando sua versão atual no repositório remoto
git push <name> <branch>        # salva a versão atual no repo. remoto <name>, branch <branch>
gp <name> <branch>              # abreviação

Branches

Depois...

Made with Slides.com