Compartilhar os arquivos na nuvem?
Passar os arquivos por pendrive?
Fazer o projeto em reunião com sua equipe?
Um dos criadores do linux
Controlador de versão distribuido
Configurar e inicializar um repositório e adicionar alguns arquivos
Iniciar um repositório
Configurar seu usuário
Escrever um arquivo adventure.md
Arquivo = Modelo
Git add = posicionar o modelo (arquivo) no palco (staging area)
Git commit = Tirar foto
Certifica o status corrente do diretório
$git status
# On branch master
#
# Initial commit
# Untracked files:(use "git add ..." to include in what will be committed)
#
# adventure.md
Devemos começar a rastrear as mudanças
$git add adventure.md
$git status
# On branch master
#
# Initial commit
# Changes to be commited:
# (use "git rm --cached <"file">..." to unstage)
#
# new file: adventure.md
Guardando uma foto no repositório local
$git commit -m "Initial commit"
$git status
# On branch master
nothing to commit (working directory clean)
Armazenar os arquivos no repositório local através dos commits
Adicionar arquivos para a staging area (dica: git add);
Salvar alterações no repositório local (dica: git commit);
Criar uma cena e mais 3 cenas que possam ser desencadeadas pela primeira (dungeons);
Realizar mesmo processo para salvar alterações no repositório local;
Bônus: Adicionar css à página.
É possível ver quais alterações feitas
$ git log
commit 19dd00d4913497107ef6de07e0ee00a9b9315304
Author: John Doe <"johnd@infojr.com.br">
Date: Sun Oct 12 02:51:03 2014 -0300
Creating index and modifying README.md
commit a44995e61542e54aa88e55908cf09133578a43f6
Author: John Doe <"johnd@infojr.com.br">
Date: Sun Oct 12 02:37:13 2014 -0300
Initial commit
Podemos ver o que modificamos em relação ao repositório local
$ git diff
diff --git a/README.md b/README.md
index 9d1d09d..61f26f8 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
Minha aventura
===================
+
+Andando pela rua, você vê ao longe um gnomo carregando uma sacola cheia de ouro
+a) Você segue o gnomo [(vá para 2)](2.md)
$ git add adventure.md
$ git diff
Como fazer para remover arquivos adicionados acidentalmente?
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# modified: adventure.md
#
$ git reset HEAD adventure.md
Unstaged changes after reset:
M adventure.md
E se eu quiser voltar como estava antes?
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working
directory)
#
# modified: adventure.md
#
no changes added to commit (use "git add" and/or "git commit -a")
$ git checkout -- adventure.md
$ git status
E se eu esqueci de adicionar alguma coisa?
$ git reset --soft HEAD^
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# modified: adventure.md
# new file: 2.md
#
E se eu esqueci de adicionar alguma coisa?
$ git add dungeon_new.html
$ git commit --amend -m "Adding new option"
Para que as pessoas peguem as modificações do repositório remoto
$ git pull
Para que as pessoas peguem o repositório remoto
$ git clone https://github.com/<"user">/<"project">.git [<"folder">]
Precisamos definir quem vai ser o nosso servidor central
$ git remote add origin https://github.com/<"user">/<"project">.git
$ git push -u origin master
Crie um repositório remoto e colabore com o do colega
Crie o seu repositório no github e envie o seu código (dica: git remote e git push);
Adicione o colega do seu lado como colaborador como colaborador;
Crie uma cópia do repositório do seu colega (dica: git clone);
Sem contar o que está fazendo, faça as alterações que desejar no projeto dele;
Envie as suas alterações para o github (dica: git push);
Volte para o diretório do seu projeto e pegue as alterações feitas pelo seu colega (dica: git pull);
Identifique as alterações feitas sem perguntar para o colega que as modificou.
Criar branch
$ git branch aventura
Acessar branch
$ git checkout aventura
Switched to branch 'aventura'
Atalho para criar e acessar branch em um só comando
$ git checkout -b aventura
Listar branches
$ git branch
aventura
* master
Baixar branch
git checkout -t origin/<"branch">
Crie uma branch e nessa branch crie mais cenas para sua história
Crie uma branch (dica: git branch);
Vá para a branch (dica: git checkout);
Crie um formulário para salvar personagens;
Faça o commit dessa funcionalidade;
Volte para a branch master.
O que foi que aconteceu?
Terminamos de criar as outras cenas da nossa história. É hora de fundir as branches
$ git checkout master
$ git merge char
Updating c8541d6..a226599
Fast-forward
0 files changed, 0 insertions(+),
0 deletions(-)
create mode 100644 chars_new.html
Remover branch
$ git branch -d char
E quando duas pessoas mechem no mesmo arquivo?
$ git push
! [rejected] master ->
master (non-fast-forward)
IMPORTANTE! REALIZAR GIT PULL ANTES DE GIT PUSH!
Arquivo com conflito
<<<<<<< HEAD
DungeonCrawlers Generations
=======
Dungeon Crawlers
>>>>>>> 7a61a9b596cdd07120e36f4f916ee65036d5c179
git fetch
**evitável**
$ apt-get install meld
$ git config --global merge.tool meld
$ git config --global diff.guitool meld
Ferramenta para merge e diff
$ git mergetool
$ git difftool
Powered By: