Segredos do Github - Branches
Quando você cria uma nova feature para o seu projeto, normalmente você também cria uma nova branch, e depois faz merge com a branch principal. Depois de um tempo, fica notória a necessidade de comparar as alterações que foram feitas.
Existe uma forma fácil de fazer isso com o Github? Adivinha? ;)
Na página do seu repositório, você pode ver todas as branches clicando no link Branches:
Clicando nesse link, você tem a lista com todas as branches do seu projeto. Por aqui, você consegue acessar a página de comparação de branches ou deletar uma branch com o clique de um botão.
Comparando branches
Para comparar alterações feitas em branches diferentes, você pode fazer direto pela URL, acessando:
1 | https://github.com/{user}/{repo}/compare/{range} |
Onde, no {range}
, você troca pela branch principal, seguida de 3 pontos, e logo após, o nome da branch que você quer comparar. Por exemplo: nesse caso, quero ver quais alterações existem na branch repeat
, que ainda não tem na master
:
1 | https://github.com/{user}/{repo}/compare/master...repeat |
Fazendo isso, se for possível, eu já vou ver um botão de Pull Request, para que eu possa enviar a sugestão de fazer marge direto na master
. Consigo ver também os commits de quem fez as alterações e quais arquivos foram alterados :D
Comparando a mesma branch por data
Também é possível comparar a mesma branch, mas com uma data anterior:
1 | https://github.com/{user}/{repo}/compare/master@{30.days.ago}...master |
Acessando a URL acima, eu consigo ver quais foram as alterações que ocorreram nos últimos 30 dias na branch master! Isso pode ser útil para você preencher o seu changelog, pois dá pra saber todas as mudanças que foram feitas nesse período de tempo :D
Podemos usar também com o formato de data - YYYY-DD-MM
:
1 | https://github.com/{user}/{repo}/compare/master@{2014.25.12}...master |
Agora eu sei tudo que foi alterado desde o natal de 2014 :D
visualizações diff e patch
Você ainda pode usar as comparações nos formatos diff
e patch
, colocando essa “extensão” no final da URL:
1 | https://github.com/{user}/{repo}/compare/master@{2014.25.12}...master.diff |
Comparando branches de repositórios forkados
Agora, você forkou um projeto, criou uma nova branch e desenvolveu uma nova feature, ou arrumou um bug. Como fazer a comparação com o repositório original?
Simples! Só fazer assim:
1 | https://github.com/{user}/{repo}/compare/{user-original-repo}:{branch}...{own-branch} |
Onde:
{user-original-repo}
é o usuário do repositório original e{branch}
que vem logo após ele, é a branch no repositório original;{own-branch}
é a branch no seu repositório, que você quer comparar.
No caso do Odin, que eu forkei, eu quero comparar a minha master, com a master do projeto original. Eu posso fazer assim:
1 | https://github.com/fdaciuk/odin/compare/wpbrasil:master...master |
Claro que, para todas essas ações, você tem botões na interface do Github que facilitam a navegação. Mas, em alguns momentos, é muito mais fácil digitar direto na URL do que clicar em um botão xD
Era isso! Até a próxima :D
Sobre o #1postperday: https://blog.da2k.com.br/2014/12/31/um-post-por-dia/
Tem alguma sugestão para os próximos posts do #1postperday? Deixe ela aqui: https://github.com/fdaciuk/fdaciuk.github.io/issues/1