aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2015-11-15 11:53:29 -0200
committerSilvio Rhatto <rhatto@riseup.net>2015-11-15 11:53:29 -0200
commit40f48343cfb8dbace6432a071a1d5e08d7544732 (patch)
treeb937ff143429a999389bf760256bae320d73a693
parent6e475b7ff29691e91a850bac29e74bd97e5b2863 (diff)
downloadboaspraticas-40f48343cfb8dbace6432a071a1d5e08d7544732.tar.gz
boaspraticas-40f48343cfb8dbace6432a071a1d5e08d7544732.tar.bz2
Diversas mudanças nas aulas
-rw-r--r--aulas/ambientes.rst34
-rw-r--r--aulas/devops.rst38
-rw-r--r--aulas/licencas.rst32
-rw-r--r--aulas/metodologias.rst73
-rw-r--r--aulas/reinventando.rst7
-rw-r--r--aulas/seguranca.rst4
-rw-r--r--aulas/versionamento.rst85
7 files changed, 161 insertions, 112 deletions
diff --git a/aulas/ambientes.rst b/aulas/ambientes.rst
index 1a4f50b..d9b8629 100644
--- a/aulas/ambientes.rst
+++ b/aulas/ambientes.rst
@@ -13,10 +13,17 @@
- A criação de uma máquina virtual em GNU/Linux usando o Vagrant de acordo com a aula de `DevOps <devops.html>`_.
- Ou o uso do Cygwin juntamente com seu editor de textos favorito.
+2.2 - Adote o GNU/Linux
+~~~~~~~~~~~~~~~~~~~~~~~
+
+* Além de ser livre, o GNU/Linux é um ambiente natural para desenvolvimento.
+* Você não precisa largar de vez seu sistema operacional. Vá aos poucos, começando com uma imagem live.
+* Sugestões: Debian GNU Linux e Ubuntu.
+
2.1 - O essencial
~~~~~~~~~~~~~~~~~
-Desktop sem distrações: o que é o mínimo que você precisa?
+Desktop sem distrações: o que é o mínimo que você precisa? No nosso caso, usaremos basicamente:
- Editor de texto ou IDE: produz código.
- Emulador de terminal: execução de tarefas.
@@ -150,7 +157,7 @@ Roteiro do screencast:
2.3 - Básico
~~~~~~~~~~~~
-- Seu desktop funciona como uma bancada de trabalho: mantenha-o sempre arrumado, limpando a sujeira toda a vez que finalizar um trabalho.
+- Seu desktop funciona como uma bancada de trabalho: mantenha-o sempre arrumado, limpando a sujeira toda a vez que finalizar uma tarefa.
- Diário de bordo: de um arquivo de texto a um blog sobre desenvolvimento (o próprio blogático, no nosso caso!).
- Organização de pastas.
- Backups.
@@ -181,8 +188,14 @@ Roteiro do screencast:
touch README.md ChangeLog TODO.md
gedit README.md
-2.3 - Sistemas de tickets (tarefas)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2.3 - Markdown e texto estruturado
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* Convenções de formatação para arquivos de texto simples.
+* Podem ser facilmente convertidos para outros formatos (html, pdf, epub, por exemplo).
+
+2.3 - Gestão de tarefas (tickets)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Kanban.
* Arquivo TODO em formatos plaintext, Markdown, etc.
@@ -199,6 +212,7 @@ Roteiro do screncast:
Imagens:
* Diversos sistemas de tickets.
+* https://en.wikipedia.org/wiki/Kanban_board#/media/File:Simple-kanban-board-.jpg
2.3 - Scripts e templates
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -247,12 +261,8 @@ Roteiro do screencast:
#. Crie uma pasta para o seu projeto.
-#. Hora de programar!
-
-Referências
------------
+2.5 Referências
+---------------
-- `Atom <https://atom.io/>`_.
-- `Lime Text Editor <http://limetext.org/>`_.
-- `Guia Foca Linux – Site Oficial | Site oficial do guia Foca GNU/Linux, baixe gratuitamente! <http://www.guiafoca.org/>`_.
-- `jgm/pandoc-templates · GitHub <https://github.com/jgm/pandoc-templates>`_.
+- `Guia Foca Linux <http://www.guiafoca.org/>`_.
+- `Solarized - Ethan Schoonover <http://ethanschoonover.com/solarized>`_.
diff --git a/aulas/devops.rst b/aulas/devops.rst
index b8df4e0..45ea0c5 100644
--- a/aulas/devops.rst
+++ b/aulas/devops.rst
@@ -1,40 +1,58 @@
5. DevOps: desenvolvendo e orquestrando
=======================================
+5.1 - O que é DevOps
+--------------------
+
+* Aproximação da administração de sistemas (sysadmin) com o desenvolvimento.
+* Entregas constantes em ambientes de alta disponibilidade.
+* Foco na automação.
+
+Imagens:
+
+* https://upload.wikimedia.org/wikipedia/commons/b/b5/Devops.svg
+
5.1 Ambientes reprodutíveis
---------------------------
5.2 - Vagrant
-------------
-5.3 - Docker
-------------
+Roteiro do screencast:
-5.4 - KVM, chroot e afins
--------------------------
+::
+
+ # Instalando o vagrant
+ sudo apt-get install vagrant
+
+ cd ~/projetos/blogatico
+ vagrant init
+
+5.3 - KVM, docker, chroot e afins
+---------------------------------
-5.5 - Integração contínua
+5.4 - Integração contínua
-------------------------
- Integração contínua usando o `Travis CI <http://travis-ci.org/>`_.
-5.6 - Fazendo o deploy
+5.5 - Fazendo o deploy
----------------------
-- CLI básico (copiar, mover, apagar e permissões).
- SSH e rsync.
- Deploy via git.
-5.7 Atividades
+5.6 Atividades
--------------
#. Instale o vagrant.
#. Crie uma máquina virtual para desenvolver o seu projeto.
#. Crie uma conta no Travis CI.
-Referências
------------
+5.7 - Referências
+-----------------
+- `Trilha sonora: Daft Punk - TRON Legacy <https://www.youtube.com/results?search_query=tron+legacy+soundtrack+>`_.
- `Automatizando a instalação (deploy) e atualização de sites com Git <http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/>`_.
- `Deploy estilo Heroku usando Git – Elton Minetto <http://eltonminetto.net/blog/2013/11/11/deploy-estilo-heroku-usando-git/>`_.
- `Deploy fácil com git - Dan Jesus <https://danjesus.github.io/blog/deploy-facil-com-git/>`_.
diff --git a/aulas/licencas.rst b/aulas/licencas.rst
index 61de438..e438e0e 100644
--- a/aulas/licencas.rst
+++ b/aulas/licencas.rst
@@ -1,5 +1,5 @@
-3. Licenciamento
-================
+3. Licenciamento de software
+============================
3.1 - O que é e por quê licenciar?
----------------------------------
@@ -27,6 +27,10 @@
* Permite sublicenciamento.
* Exemplos de software sob esta licença: Ruby on Rails, Node.js e jQuery.
+Imagens:
+
+* Licença MIT.
+
3.2 - Estilo BSD
~~~~~~~~~~~~~~~~
@@ -38,12 +42,16 @@
* Desde que o nome dos/as autores não seja usado para promover produtos derivados.
* Mas exime autores(as) de quaisquer responsabilidade advindas do software.
+Imagens:
+
+* Licença BSD.
+
3.2 - Vantagens e desvantagens
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vantagens:
-* Facilmente legível (licenças pequenas).
+* Facilmente legíveis (licenças pequenas).
* Flexibilidade: aderência a modelos de negócios.
Desvantagens:
@@ -57,10 +65,10 @@ Desvantagens:
3.3 - Histórico
---------------
-* Custom crescente e comodificação do software.
+* Custo crescente e comodificação do software.
* Ameaça ao "commons" hacker.
* Free Software Foundation.
-* Licença copyleft "viral": garante as liberdades
+* Licença copyleft "viral": garante as liberdades.
3.3 Quatro liberdades do software livre
---------------------------------------
@@ -77,7 +85,7 @@ Exemplo: `licença desta documentação </LICENSE.html>`_.
* GNU GPL: licença padrão.
* GNU FDL: para documentação.
-* GNU Affero: requer o fornecimento de código fonte.
+* GNU Affero GPL: requer a disponibilização de código fonte por quem roda o software.
3.3 - Open Source versus Free Software
--------------------------------------
@@ -95,7 +103,7 @@ Exemplo: `licença desta documentação </LICENSE.html>`_.
* Atribuição.
* Compartilhamento sob a mesma licença.
- * (Não-)comercial.
+ * Se o trabalho é comercial ou não.
* Permite ou não trabalhos derivados.
3.5 - Outras licenças
@@ -120,7 +128,7 @@ Exemplo: `licença desta documentação </LICENSE.html>`_.
3.6 - Licenciando o seu trabalho
--------------------------------
-3.5 - Escolhendo a licença
+3.6 - Escolhendo a licença
~~~~~~~~~~~~~~~~~~~~~~~~~~
* Compatibilidade entre licençar (distribuição e linkagem).
@@ -135,8 +143,8 @@ Roteiro do screencast:
cd ~/projetos/blogatico
wget https://www.gnu.org/licenses/gpl.txt -O LICENSE.txt
-3.6 Atividades
---------------
+3.7 - Atividades
+----------------
#. Escolha uma licença para o seu projeto.
@@ -144,8 +152,8 @@ Roteiro do screencast:
#. Bônus: escreva uma pequena licença de software. Isso pode lhe ajudar a entender melhor o que você acha importante numa licença.
-Referências
------------
+3.8 - Referências
+-----------------
* `TLDRLegal <https://tldrlegal.com>`_.
* `Open Source Initiative <http://opensource.org/>`_.
diff --git a/aulas/metodologias.rst b/aulas/metodologias.rst
index 603da7e..5ed6cc5 100644
--- a/aulas/metodologias.rst
+++ b/aulas/metodologias.rst
@@ -20,15 +20,24 @@
- Foco em Software Livre e Aberto (FOSS).
- Experimente diversas metodologias, técnicas e ferramentas e monte seu próprio kit!
-1.2 - Mitos e verdades do desenvolvimento
------------------------------------------
+Imagens:
+
+* https://upload.wikimedia.org/wikipedia/commons/7/7c/Yin_and_Yang.svg
+* https://www.gnu.org/graphics/meditate.en.html
+
+Link:
+
+* https://www.youtube.com/watch?v=2FQU0WeGSEM
+
+1.1 - O problema fundamental
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Dificuldades essenciais e acidentais.
-- Linearidade: pessoa-mês (Lei de Brooks).
-- Métricas: dificuldade de se estimar o tempo gasto.
-- Deterioramento natural do software!
+* O processo criativo não é linear e difícil de colocá-lo numa metodologia de trabalho.
+* Muitos métodos tentam dominar e formatar o fluxo natural de atividades.
+* Queremos técnicas e ferramentas que reduzam o ruído no trabalho, mas que não acarretem na perda de liberdade criativa.
+* Dificuldades essenciais e acidentais (Aristóteles).
-1.3 - Metodologias pessoais
+1.2 - Metodologias pessoais
---------------------------
Queremos evitar:
@@ -40,10 +49,10 @@ Queremos evitar:
Queremos:
-- Simplicidade sem comprometer funcionalidade (KISS).
-- Excelência (melhoria incremental) ao invés de perfeccionismo obssessivo.
+- Simplicidade sem perda de qualidade (KISS).
+- Excelência (melhoria incremental) ao invés de perfeccionismo obsessivo.
-1.3 - Metodologias pessoais - Básico
+1.2 - Metodologias pessoais - Básico
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Fundamental: fazer fluir a criatividade.
@@ -52,8 +61,9 @@ Queremos:
- Foco na missão.
- Fazer o essencial.
- Método não é lei, é sugestão de caminho. Você descobriu que é multi-tarefas e funciona melhor assim? Ok! :)
+- Mude seus hábitos aos poucos!
-1.3 - Metodologias pessoais - Pomodoro
+1.2 - Metodologias pessoais - Pomodoro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
É uma técnica simples para execução de tarefas:
@@ -65,10 +75,14 @@ Queremos:
- Pare por um tempo curto (5 minutos, por exemplo).
- Depois de 4 pomodoros, faça uma pausa mais longa (15 a 30 minutos).
-1.4 - Metodologias pessoais - Get Things Done (GTD)
+Imagem:
+
+* `Cronômetro do pomodoro <https://en.wikipedia.org/wiki/Pomodoro_Technique#/media/File:Il_pomodoro.jpg>`_.
+
+1.3 - Metodologias pessoais - Get Things Done (GTD)
---------------------------------------------------
-É uma técnica para organização do fluxo de tarefas:
+É uma técnica para organização de tarefas / vida.
- Colete: apareceu na sua frente? Coloque para fora da cabeça!
- Processe.
@@ -77,25 +91,26 @@ Queremos:
- Faça!
- Workflow: https://en.wikipedia.org/wiki/Getting_Things_Done#/media/File:GTDcanonical.png
-1.5 - Metodologias pessoais - Zen to Done (ZTD)
+1.4 - Metodologias pessoais - Zen to Done (ZTD)
-----------------------------------------------
-- ZTD é um GTD simplificado e mais estruturado.
+ZTD é um GTD simplificado e mais estruturado:
+
- Tenha uma rotina.
- Reduza as suas tarefas ao essencial.
- Comece o dia realizando as tarefas importantes. Não se perca.
- Sugestão do chef: ZTD com Pomodoro!
-1.6 - Metodologias em equipe
+1.5 - Metodologias em equipe
----------------------------
-1.6 - A Catedral e o Bazar
+1.5 - A Catedral e o Bazar
~~~~~~~~~~~~~~~~~~~~~~~~~~
- Eficiência do código aberto.
- Agile: conjunto de princípios.
-1.6 - Metodologias populares
+1.5 - Metodologias populares
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Scrum: metodologia de gerenciamento de projetos.
@@ -104,10 +119,10 @@ Queremos:
- TDD: técnica de desenvolvimento guiada por testes.
- Híbridação: Scrumban + XP :D
-1.7 - Começando um projeto
+1.6 - Começando um projeto
--------------------------
-1.7 - Etapas
+1.6 - Etapas
~~~~~~~~~~~~
- Etapa 0: descoberta, brainstorm e levantamento de escopo!
@@ -115,10 +130,10 @@ Queremos:
- Qual ou quais problemas a serem atacados?
- Como definir o projeto e seu escopo? O que é e o que não é?
- Quais soluções possíveis? Qual a escolhida?
- - A ser realizado em conjunto pel equipe de desenvolvimento e quaisquer partes envolvidas (clientes, por exemplo).
+ - A ser realizado em conjunto pela equipe de desenvolvimento e quaisquer partes envolvidas (clientes, por exemplo).
- Descrição em alto nível.
-- Etapa 1: pesquisa do que já existe: quais projetos abarcam os problemas? No que deixam a desejar?
+- Etapa 1: pesquisa do que já existe: quais soluções abarcam os problemas formulados? No que deixam a desejar?
- Etapa 2: planejamento inicial: escolha inicial de metodologias, bootstrap, provas de conceito, etc.
- Etapa 3: aplicar um conjunto de metodologias mas principalmente *realizar* o projeto.
@@ -126,7 +141,7 @@ Imagens:
* Diagramas jocosos de problema/solução.
-1.8 - Projeto de exemplo
+1.7 - Projeto de exemplo
~~~~~~~~~~~~~~~~~~~~~~~~
0. Descoberta:
@@ -143,7 +158,7 @@ Imagens:
* Criar um blog em qualquer lugar e fazer backups na unha? Pouco elegante e não atende a todos os requisitos.
* Criar um blog em HTML simples e subir manualmente para um servidor? Não, queremos algo entre a web 1.0 e a web contemporânea.
- * Que tal criarmos um blog gerado estaticamente, isto é, um conjunto de arquivos simples de editar e que são compilados num site que possa ser facilmente enviado para um servidor como qualquer outra aplicação web?
+ * Que tal criarmos um blog gerado estaticamente, isto é, um conjunto de arquivos simples de editar e que são compilados para o formato de site que possa ser facilmente enviado para um servidor como qualquer outra aplicação web?
1. Pesquisa: pesquise pesquise pesquise! O que você encontrou?
2. Bootstrap:
@@ -167,12 +182,10 @@ Imagens:
#. Para este curso, definimos o nosso projeto de exemplo como sendo um website/blog bem simples. Você pode fazer o mesmo ou então escolher qualquer projeto que queira fazer usando qualquer linguagem de programação e adaptar as atividades propostas nas aulas seguintes de acordo com o seu caso. Sugerimos apenas que você escolhe um nome para o seu projeto, mesmo que temporário! Mas lembre-se: nomes tem poder! :)
-#. Pesquise geradores de site estáticos (static site generators). O que você encontrou?
-
#. Bônus: esboce um documento simples de escopo para o seu projeto. Ele pode ser um importante guia nas fases iniciais.
-Referências
------------
+1.9 Referências
+---------------
- `Best coding practices - Wikipedia, the free encyclopedia <https://en.wikipedia.org/wiki/Best_coding_practices>`_.
- `Best practices for software development projects <http://www.ibm.com/developerworks/websphere/library/techarticles/0306_perks/perks2.html>`_.
@@ -190,3 +203,7 @@ Referências
- `Manifesto para o desenvolvimento ágil de software <http://www.manifestoagil.com.br/>`_.
- https://www.mountaingoatsoftware.com/blog/differences-between-scrum-and-extreme-programming
- http://manifesto.co.uk/kanban-vs-scrum-vs-xp-an-agile-comparison/
+- `Zen e a Arte de Manutenção de Motocicletas <https://pedropeixotoferreira.files.wordpress.com/2014/03/robert-pirsig-zen-e-a-arte-da-manutenc3a7c3a3o-de-motocicletas.pdf>`_.
+- `O Tao da programação <http://www.geocities.ws/worgtal/2002/tao.pdf>`_.
+- `Top Open-Source Static Site Generators - StaticGen <https://www.staticgen.com/>`_.
+- `principles - IndieWebCamp <https://indiewebcamp.com/Principles>`_.
diff --git a/aulas/reinventando.rst b/aulas/reinventando.rst
index 1659e30..a0a539d 100644
--- a/aulas/reinventando.rst
+++ b/aulas/reinventando.rst
@@ -14,6 +14,8 @@
6.2 - Antipatterns
------------------
+* Linearidade: o mito da pessoa-mês (Lei de Brooks).
+
6.3 - Inferno de dependências
-----------------------------
@@ -30,3 +32,8 @@ Roteiro do screencast:
::
sudo apt-get install ttyrec
+
+6.7 - Referências
+-----------------
+
+* `Versionamento Semântico 2.0.0 <http://semver.org/lang/pt-BR/>`_.
diff --git a/aulas/seguranca.rst b/aulas/seguranca.rst
index cce1689..0e8f21b 100644
--- a/aulas/seguranca.rst
+++ b/aulas/seguranca.rst
@@ -5,7 +5,9 @@
-----------------------------------------
* Criptografia é só uma parte das práticas seguras.
-* Testes de penetração: inverta os papéis: e se você fosse o/a atacante?
+* Modelagem de ameaças e testes de penetração: inverta os papéis: e se você fosse o/a atacante?
+* A dificuldade de se encontrar vulnerabilidades.
+* Segurança por isolamento.
6.2 - Use bibliotecas consolidadas!
-----------------------------------
diff --git a/aulas/versionamento.rst b/aulas/versionamento.rst
index ff1d844..876e160 100644
--- a/aulas/versionamento.rst
+++ b/aulas/versionamento.rst
@@ -4,20 +4,21 @@
4.1 - O que é? Pra que serve?
-----------------------------
-Tópicos:
-
* Salvar o estado do código em revisões sequenciais.
* Integrar o trabalho do time.
* Acompanhar as mudanças no código (encontrar bugs, rollback, etc).
-* Boa prática: versionando desde o dia 0.
* Ajuda, mas não resolve conflitos na edição de arquivos.
+* Boa prática: versionando desde o dia 0.
Imagens:
* https://git-scm.com/book/en/v2/book/01-introduction/images/local.png
+4.2 - Sistemas de controle de versão
+------------------------------------
+
4.2 - Quais sistemas existem?
------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tópicos:
@@ -31,16 +32,16 @@ Imagens:
* Ícones e screenshots do site de cada sistema.
4.2 - Centralizados versus distribuídos
----------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tópicos:
-* Centralizado:
+* Centralizadaso:
* Repositório central para onde são enviadas mudanças.
* Ou seja, existe uma cópia de referência.
-* Distribuído:
+* Distribuídos:
* Cada cópia de trabalho é um repositório completo e possui todo o histórico de revisões (também uma forma de backup).
* Não requer um repositório central, porém um ponto de trocas central pode ser estipulado entre os desenvolvedores/as.
@@ -61,17 +62,12 @@ Imagens:
* Complexo e poderoso, porém pode ser usado de modo simples.
* Checagem de integridade nativa!
-4.3 - Instalando
-~~~~~~~~~~~~~~~~
+4.3 - Instalando e configurando
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Focaremos em git pela linha de comando.
* Disponível em tudo que é tipo de sistema operacional.
-
-4.3 - Configurando
-~~~~~~~~~~~~~~~~~~
-
-A única exigência é especificar um nome e email (de preferência funcional ;)
-ara constar nas informações de revisão.
+* A única exigência é especificar um nome e email (de preferência funcional ;) para constar nas informações de revisão.
Roteiro do screencast:
@@ -99,7 +95,10 @@ Roteiro do screencast:
cd ~/projetos/
git clone https://github.com/rhatto/boaspraticas
-4.3 - Trabalhando no projeto
+4.4 - Trabalhando no projeto
+----------------------------
+
+4.4 - Trabalhando no projeto
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Três estágios de mudanças: cometidas (commited), marcadas para commit (staged) e modificadas (changed).
@@ -109,32 +108,22 @@ Roteiro do screencast:
::
cd ~/projetos/blogatico
- gedit README.md # edite seu arquivo
git status
- git add README.md # em seguida edite mais um pouco
+ git add README.md
+ git status
+ gedit README.md
git status
git diff
git commit -m "Primeira revisão"
git add README.md # mudanças recentes adicionadas ao estágio de lançamento
git commit -m "Segunda revisão"
- git commit -a -m "Terceira revisão" # coloca todas as mudanças no estágio e comete
-
- # Agora vamos programar um pouco...
- mkdir bin
- touch bin/build
- chmod +x bin/build
- gedit bin/build
+ git add .
+ git commit -m "Adiciona demais arquivos" # coloca todas as mudanças no estágio e comete
Imagens:
* https://git-scm.com/book/en/v2/book/01-introduction/images/areas.png
-4.4 - Git: navegando no histórico
----------------------------------
-
-* Entendendo um commit.
-* Tags (etiquetas).
-
4.4 - Log de revisões
~~~~~~~~~~~~~~~~~~~~~
@@ -148,7 +137,7 @@ Roteiro do screencast:
cd ~/projetos/blogatico
git log
- git cola
+ sudo apt-get install gitk
gitk
Imagens:
@@ -156,18 +145,15 @@ Imagens:
* https://git-cola.github.io/images/screenshot-main-linux.png
* https://static.lwn.net/images/ns/kernel/gitk.png
-4.4 - Revertendo uma mudança
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-* Você pode fazer um novo commit na unha ou usar o ferramental do git.
+4.4 - Interface gráfica
+~~~~~~~~~~~~~~~~~~~~~~~
Roteiro do screencast:
::
- git commit --amend
- git revert
- git rebase
+ sudo apt-get install git-cola
+ git cola
4.5 - Ramificações (branches e merges)
--------------------------------------
@@ -183,7 +169,7 @@ Roteiro do screencast:
cd ~/projetos/blogatico
git branch develop
git checkout develop
- git commit
+ git commit -a
git checkout master
git merge develop
@@ -206,13 +192,15 @@ Roteiro do screencast:
cd ~/projetos/blogatico
git flow init
git flow feature start doc
+ git commit -a
+ git flow feature finish
4.7 - Submódulos
----------------
* Um repositório git dentro de outro.
-* Trava em revisões específicas.
-* "Sistema de empacotamento" simples e integrado ao git.
+* "Trava" o submódulo em revisões específicas.
+* "Sistema" de gestão de dependências de código simples e integrado ao git.
Roteiro do screencast:
@@ -225,8 +213,8 @@ Roteiro do screencast:
# Clonando o repositorio noutro local
cd ..
- git clone projeto projeto-clonado
- cd projeto-clonado
+ git clone blogatico blogatico-clonado
+ cd blogatico-clonado
git submodule update --init
# Ou:
@@ -253,12 +241,11 @@ Roteiro do screencast:
#. Faça um pequeno site com o Skeleton.
#. Bônus: git log to ChangeLog!
-Referências
------------
+4.13 - Referências
+------------------
+* `Instalando Git <https://git-scm.com/book/pt-br/v1/Primeiros-passos-Instalando-Git>`_.
+* `Curso Básico de Git - RBtech <https://www.youtube.com/watch?v=WVLhm1AMeYE&list=PLInBAd9OZCzzHBJjLFZzRl6DgUmOeG3H0>`_.
* `cheatsheet do git-flow <https://danielkummer.github.io/git-flow-cheatsheet/index.pt_BR.html>`_.
* `Skeleton: Responsive CSS Boilerplate <http://getskeleton.com/>`_
-* `Versionamento Semântico 2.0.0 <http://semver.org/lang/pt-BR/>`_.
-* `Curso Básico de Git - RBtech <https://www.youtube.com/watch?v=WVLhm1AMeYE&list=PLInBAd9OZCzzHBJjLFZzRl6DgUmOeG3H0>`_.
-* `Instalando Git <https://git-scm.com/book/pt-br/v1/Primeiros-passos-Instalando-Git>`_.
* `git-cola: The highly caffeinated Git GUI <https://git-cola.github.io/>`_