em projetos através de uma árvore distribuída. • Legal! E como vamos usar ele? • Não faço ideia. Apenas decore esses comandos e digite-os para sincronizar tudo. Se der erro, salve seu trabalho em algum lugar, apague o projeto e faça uma nova cópia. (tradução livre) - Fonte: https://xkcd.com/1597/
as mudanças feitas – Em um arquivo, ou vários • De forma que seja fácil a recuperação – Versões específicas, anteriores • Pode ser utilizado com qualquer tipo de arquivo – Código-fonte é mais comum Fonte: https://git-scm.com/book/pt-br/v2 Fonte: https://git-scm.com/book/pt-br/v2
alterações no código – Autor da alteração (Quem?) – Data das alterações (Quando?) – Motivo das alterações (Por que?) – Arquivos alterados (O que?) • Facilitar a colaboração – pessoas podem trabalhar juntas • Auxiliar na identificação e resolução de problemas
distribuído Sistema de controle de versão distribuído • Criado por Linus Torvalds em 07/04/2005 Criado por Linus Torvalds em 07/04/2005 • Simples e rápido Simples e rápido – Armazena Armazena snapshots snapshots • É Livre É Livre – GNU GPL v2 GNU GPL v2
de Hospedagem de Código • Criado em 2008 Criado em 2008 • Usa GIT Usa GIT • Comprado pela Microsoft em Comprado pela Microsoft em 04/06/2018 04/06/2018 – Por U$ 7,5 bilhões Por U$ 7,5 bilhões • NÃO É Livre (ainda) NÃO É Livre (ainda) – As Free Speech As Free Speech
cd Projeto $ cd Projeto $ git clone \ $ git clone \ https://gitlab.com/fabiobeneditto/tchelinux- https://gitlab.com/fabiobeneditto/tchelinux- git.git Tchelinux git.git Tchelinux Cloning into 'Tchelinux'... Cloning into 'Tchelinux'... done. done.
status $ git status On branch master On branch master Initial commit Initial commit Untracked files: Untracked files: (use "git add <file>..." to include in what will be committed) (use "git add <file>..." to include in what will be committed) hello.md hello.md nothing added to commit but untracked files present (use "git add" to track) nothing added to commit but untracked files present (use "git add" to track)
add hello.md $ git status $ git status On branch master On branch master Changes to be committed: Changes to be committed: (use "git reset HEAD <file>..." to unstage) (use "git reset HEAD <file>..." to unstage) modified: hello.md modified: hello.md
é a stage area: stage area: • um simples arquivo que armazena informações sobre um simples arquivo que armazena informações sobre o que irá em seu próximo o que irá em seu próximo commit commit. Você, durante o . Você, durante o ciclo: ciclo: – Modifica arquivos no seu diretório de trabalho. Modifica arquivos no seu diretório de trabalho. – Seleciona os arquivos, adicionando Seleciona os arquivos, adicionando snapshots snapshots deles para o deles para o index index. . – Faz um Faz um commit commit, levando os arquivos como eles , levando os arquivos como eles estão no estão no index index e os armazena permanentemente e os armazena permanentemente
$ git add -p $ git add -p (ou --patch) (ou --patch) diff --git a/hello.md b/hello.md diff --git a/hello.md b/hello.md index 9cff701..aa1314b 100644 index 9cff701..aa1314b 100644 --- a/hello.md --- a/hello.md +++ b/hello.md +++ b/hello.md @@ -4,3 +4,5 @@ Exemplo de como fica um arquivo no Git @@ -4,3 +4,5 @@ Exemplo de como fica um arquivo no Git ## Como fazer ## Como fazer Adicionando uma segunda linha e um ponto. Adicionando uma segunda linha e um ponto. + + +...e mais uma +...e mais uma Stage this hunk [y,n,q,a,d,/,e,?]? Stage this hunk [y,n,q,a,d,/,e,?]?
git add hello.md $ git add hello.md $ git commit $ git commit [] Descricao Curta [] Descricao Curta Descrição Detalhada do Commit Descrição Detalhada do Commit # Please enter the commit message for your changes. Lines starting # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # with '#' will be ignored, and an empty message aborts the commit. # On branch master # On branch master # Changes to be committed: # Changes to be committed: # modified: hello.md # modified: hello.md # #
commit --amend Bloco Extra em hello.md Bloco Extra em hello.md # Please enter the commit message for your changes. Lines starting # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # with '#' will be ignored, and an empty message aborts the commit. # # # Date: Sun Sep 17 15:36:51 2017 -0300 # Date: Sun Sep 17 15:36:51 2017 -0300 # # # On branch master # On branch master # Changes to be committed: # Changes to be committed: # modified: hello.md # modified: hello.md
git checkout -p diff --git a/hello.md b/hello.md diff --git a/hello.md b/hello.md index aba21ac..2cc5dc2 100644 index aba21ac..2cc5dc2 100644 --- a/hello.md --- a/hello.md +++ b/hello.md +++ b/hello.md @@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@ # Hello World # Hello World Exemplo de como fica um arquivo no Git Exemplo de como fica um arquivo no Git + + +Adicionando uma terceira linha +Adicionando uma terceira linha Discard this hunk from worktree [y,n,q,a,d,/,e,?]? Discard this hunk from worktree [y,n,q,a,d,/,e,?]?
show f480dd9 f480dd9 commit commit f480dd9 f480dd96974c5eafea736a4286db353172e960e3 (HEAD -> master) 6974c5eafea736a4286db353172e960e3 (HEAD -> master) Author: Fabio Beneditto <[email protected]> Author: Fabio Beneditto <[email protected]> Date: Sun Sep 17 15:02:48 2017 -0300 Date: Sun Sep 17 15:02:48 2017 -0300 Versão Inicial de hello.md Versão Inicial de hello.md diff --git a/hello.md diff --git a/hello.md b/hello.md b/hello.md new file mode 100644 new file mode 100644 index 0000000..aba21ac index 0000000..aba21ac --- /dev/null --- /dev/null +++ b/hello.md +++ b/hello.md @@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@ +# Hello World +# Hello World + + +Exemplo de como fica um arquivo no Git +Exemplo de como fica um arquivo no Git
f480dd9 f480dd9.. ..cf8cc84 cf8cc84 diff --git a/hello.md diff --git a/hello.md b/hello.md b/hello.md index aba21ac.. index aba21ac..2cc5dc2 2cc5dc2 100644 100644 --- a/hello.md --- a/hello.md +++ b/hello.md +++ b/hello.md @@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@ # Hello World # Hello World Exemplo de como fica um arquivo no Git Exemplo de como fica um arquivo no Git + + +Adicionando uma terceira linha +Adicionando uma terceira linha