1. Livro do Git

Formatos:

Nota: esta é a edição da versão 1 e recomendada aqui porque está totalmente traduzida para português. Para uma edição bem mais recente - mas pouco traduzida para português - acesse https://git-scm.com/book/pt-br/v2.

2. Conteúdo obrigatório

  1. Capítulo Primeiros passos;

  2. Capítulo Git Essencial;

  3. Exercício CLONE_PUSH_HTTPS;

  4. Exercício CLONE PUSH SSH;

  5. Capítulo Ramificação (Branching) no Git;

  6. Seção Reescrevendo o histórico do capítulo Ferramentas do Git (Pg. 226 em Pro Git - professional version control - Scott Chacon.pdf);

  7. Exercício REWRITE_HISTORY.

3. Conteúdo opcional - mas muito útil

  • Capítulo Ferramentas do Git:

    • Seção Fazendo Stash;

    • Seção Seleção de Revisão;

    • Seção Área de seleção interativa

    • Seção Depurando com o Git » Pesquisa Binária;

  • Capítulo Funcionamento Interno do Git.

4. Exercícios

4.1. CLONE_PUSH_HTTPS

  1. Crie uma conta pessoal em https://github.com ou https://gitlab.com/explore;

  2. Crie um repositório (Projeto) e o clone com a URL HTTPS.

  3. Envie ao menos um commit a esse repositório - você deve usar seu Git local e não as funcionalidades web da plataforma.

4.2. CLONE_PUSH_SSH

Realize o mesmo do exercício CLONE_PUSH_HTTPS, mas utilizando SSH em vez de HTTPS.

4.3. REWRITE_HISTORY

  1. Clone o repositório contido em git-rebase-exercise_bare-repository.tar.gz;

  2. Reorganize os commits da branch master de forma que:

    1. Os commits de inclusão de nomes estejam ordenados pelo nome que incluem;

    2. Não haja inclusão de nomes grafados incorretamente;

    3. Os arquivos devem seguir Formato geral para text/plain em todos os commits;

    4. A autoria original dos (Nome, email, data/hora) seja mantida.

  3. Faça o push para o repositório clonado de forma que o branch master aponte para as modificações do passo 2.

Nota: git-rebase-exercise_bare-repository.tar.gz é um repositório a ser utilizado como remoto. Exemplo:

tar -xzf git-rebase-exercise_bare-repository.tar.gz # Descompacta para "git-rebase-exercise_bare-repository"
git clone git-rebase-exercise_bare-repository git-rebase-exercise_copia

E então operar a partir de git-rebase-exercise_copia. Para entregar o resultado compacte git-rebase-exercise_bare-repository e o envie.

4.3.1. Gabarito

A situação inicial (gitk --all) esperada em git-rebase-exercise_copia é git-rebase-exercise_situacao-inicial.png.