O GitHub é hoje uma das organizações de mais importância para a comunidade de desenvolvimento de software ao redor do mundo. Seu intuito principal é ser um sistema de controle de versão como serviço, porém sua facilidade de uso e sua ótima adoção pela comunidade fez com que hoje ele seja considerado a maior comunidade open-source do planeta.
Se você, assim como eu, utiliza esta plataforma, nós temos uma boa notícia. Desenvolvemos a feature de deploy “automágico” com o GitHub, onde você conecta a sua conta do GitHub à sua conta da Umbler.
Após conectar sua conta, você configura o repositório de origem do código e um diretório da sua hospedagem. A partir daí, a cada push realizado no remote (normalmente denominado de origin) faz com que o seu código seja publicado no diretório escolhido.
Simples assim? Simples assim!
Como diria algum autor desconhecido, porém, com grandes poderes vêm grandes responsabilidades. Alguns cuidados importantes devem ser tomados ao utilizar esta feature, e um deles é que, necessariamente o código da sua aplicação, mais especificamente da branch master, deve estar sempre apto a ser publicado. A. Qualquer. Momento.
Ok, ótimo, então após configurar esta feature, eu só posso dar push para o meu GitHub em códigos que estão prontos para serem publicados? Não necessariamente, por isso que é muito importante lembrar que o código que será publicado é o que está na branch principal de trabalho, a supracitada branch master. A partir daqui, para evitar que você publique algo que não está pronto, vamos aprender um pouco mais a trabalhar com branches.
Branches: o que são, de onde vêm e do que se alimentam?
Branches são features presente nos principais sistemas de controle de versão e servem para que o código consiga seguir sua evolução em um fluxo separado. Isso significa que, no momento da criação de uma branch, o sistema de controle de versão utilizado guardará o estado atual dos arquivos em um outro lugar, seja fazendo uma cópia ou gerando um hash destes dados e, então, seguirá o fluxo de modificações em separado. Assim é possível alternar entre versões do seu código num passe de mágica (ou seria apenas em um comando?)
Como eu sei que você está trabalhando com o GitHub e utilizando Git para controlar seu código, o processo de criação de branches é rápido e fácil. Vamos lá! Digamos que você já esteja com o bash aberto no diretório da sua aplicação, tem certeza que esse repositório é “versionável” pelo Git (git init) e já tem um remote chamado origin que aponta para seu GitHub. Nada estranho até aqui, certo? Então, para criar uma nova branch basta executar o comando.
git checkout -b [nome-da-branch]
Ok, vamos agora a um exemplo prático: digamos que você possui uma agência que desenvolve alguns projetos de sites para alguns clientes e possua uma página que apresenta o portfolio contendo suas obras de arte. Agora, digamos que você terminou um novo projeto e, de tanto orgulho, quer adicionar à sua lista de trabalhos feitos o mais rápido o possível. Porém, em contrapartida, você alterou o layout do seu site, está com ele totalmente modificado e ainda não está pronto para ser publicado. Hum… Como faz? Dou Ctrl + z em todo meu progresso ou espero mais uma semana até terminar o novo site pra mostrar pro mundo que eu fiz o novo ganhador do prêmio awwwards? N.d.a! Escolha por branches. Sim, nesse caso, criaríamos uma branch nova, que iremos chamar de novo-layout.
git checkout -b novo-layout
Agora, com a necessidade de adicionar esse novo projeto, basta voltarmos para a branch principal, onde estava todo nosso projeto pré-modificações e colocarmos essa nova feature. TA-DAN, está lá, nosso novo layout são e salvo, assim como nossas modificações.
git checkout master
Certo, estamos na branch master novamente, com nosso projeto adicionado e nosso código passível de ser publicado. Agora basta conferir se você está com o deploy automágico ativo
E então caso esteja tudo certo, basta apenas dar um push nessas modificações:
git commit -m “Adicionado novo item no portfolio - possível ganhador do awwwards”
git push origin master
Assim que o push ocorrer com sucesso basta você esperar alguns segundos e seu site estará lá, publicado e com o novo item como deveria estar.
Estamos com essa feature ainda em beta, então caso tenha qualquer sugestão ou critica, por favor, entre em contato 😀
Quer saber mais sobre GIT? Acesse!
Não tem um repositório no GitHub? Crie!