Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Como Ter um zip de cada aula no github

Olá Alura, seguinte, eu sempre quando inicio um curso, faço a pasta do curso e sincronizo com um repositorio remoto no meu Github, no entanto a minha abordagem ao utilizar a ferramenta sempre foi a seguinte:

Eu programava de casa na branch casa e fazia por exemplo os exercicios da AULA 1, Fazia o commit, e fazia o push pro repositorio remoto, chegava no trabalho quando queria estudar importava tudo pra minha máquina no trabalho atraves do clone e do pull e trabalhava numa branch trabalho e pazia o commit e push nessa branch depopis jogava pra master.

Pra mim além de trabalhar em equipe programar em multiplas branchs era pra diferenciar o que vc fez de um lugar ou de outro, até que descobri nesse repositório que cada aula do curso está numa branch, queria saber qual a vantagem dessa abordagem uma que já percebi é que tenho como saber como estava o projeto em cada aula queria saber outras e qual é o fluxo pra ter um repositorio como esse:

https://github.com/alura-cursos/curso-vim/branches

outro exemplo:

https://github.com/alura-cursos/CursoHTML

Desde já agradeço.

4 respostas

Oi Maison, tudo bom?

Uma das vantagens, além da que você citou de conseguir analisar as alterações do projeto ao longo do tempo (que é a maior vantagem), é que ao gerar o link do zip com um capitulo em cada branch, temos sempre o nome do capitulo no link. Algo como:

https://github.com/{conta-do-git}/{repositorio}/archive/{nomeDaBranch}.zip

E, se a gente tivesse uma branch só, puxando o zip pelo commit, seria algo como:

https://github.com/{conta-do-git}/{repositorio}/archive/{hashDoCommit}.zip

Então, ao invés de uma URL com um nome da branch, por exemplo:

https://github.com/alura-cursos/curso-vim/archive/aula4.zip

teriamos algo como:

https://github.com/alura-cursos/CursoHTML/archive/d8d9a41167205d9c07566de803303c9287949a0e.zip

Abraço =)

Oi André obrigado por ter respondido, entendi o ganho com os zips também, agora só queria entender o fluxo(passo a passo):

Eu crio a branch aula01 Faço tudo e commito e copio pra master.Depois crio a branch aula02 e assim sucessivamente.

Ou crio as branchs e só no final jogo tudo pra master.Não sei se faz diferença.Desde já agradeço.

solução!

Basicamente, o que você precisa fazer nesse caso é só ir criando as branchs uma a partir da outra e no final dar o rebase na master.

Não faz diferença se você fizer o rebase pra master em cada branch porque elas vão se completando como uma linha do tempo mesmo =)

Basicamente, teriamos algo como:

// comecando o projeto
git init
...
// cria a branch capitulo1
git checkout -b capitulo1
// faz os exercicios da aula
git add .
git commit -m "capitulo1"
git push origin capitulo1

git checkout -b capitulo2
git add .
... // assim sucessivamente até o ultimo capitulo

// no final você manda tudo pra master, a partir da ultima branch =)
git checkout -b master
git push origin master

Abraço

Estou abrindo uma nova discussão que na verdade é a continuação dessa:Discussão Pq deu ruim no final.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software