Skip to content

Instantly share code, notes, and snippets.

@embs
Last active May 24, 2017 12:25
Show Gist options
  • Save embs/4643310 to your computer and use it in GitHub Desktop.
Save embs/4643310 to your computer and use it in GitHub Desktop.
Como pegar projeto de repositório no Heroku, realizar modificações e enviá-las novamente ao remoto.

Dê boot a partir do S.O. Linux

Se você não tem Linux no computador, escolha uma distro (recomendo Debian -- que é a que eu uso -- mas a mais populares atualmente são a Linux Mint, o Ubuntu e o Fedora), baixe (ou baixe, baixe ou baixe) e instale (ou instale, instale ou instale).

Apesar de existirem tantos tutoriais e guias a respeito, o processo de instalação (pelo menos do Ubuntu e do Debian) é bastante simples e qualquer um que alguma vez já tenha instalado alguma coisa a partir de um CD (visto que hoje os CD's andam um pouco em desuso) não encontrará muita dificuldade em fazê-lo.

P.S.: os próximos passos serão mais facilmente executados no Ubuntu (que é baseado no Debian) ou no próprio Debian.

Instale o Ruby

O Ruby é necessário por que o projeto em que as modificações serão feitas é um projeto Rails (um framework de desenvolvimento web desenvolvido em Ruby). Não é necessário que você saiba programar em Ruby ou conheça o framework para realizar modificações -- visto que, provavelmente, você só vai querer alterar as partes do projeto relativas a front-end (isto é, HTML, CSS e Javascript). Mesmo assim, fazer alguma coisa em Ruby é bem simples.

Instalação do Ruby 1.9.3/Rails 3 usando o RVM

1) Executar comandos no terminal (bash)

$ sudo apt-get install libssl-dev libreadline6-dev zlib1g-dev
$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
$ source .bash_profile

2) Atualizar o RVM e instalar a versão 1.9.3 do ruby

$ rvm get head
$ rvm install 1.9.3
$ rvm use 1.9.3
$ rvm --default use 1.9.3

Obs: O RVM vai mostrar um comando no prompt para instalar alguns pacotes de desenvolvimento, copie e cole e aguarde instalar

Instale o Rails

$ gem install rails --version 3.2.11

Instale o Git

O Git é o controlador de versões utilizado para fazer o download do projeto (pull), bem como seu upload (push). Não sabe o que é isso?

$ sudo apt-get install git-core

Obs: Configurar o git e as chaves SSH de acordo com este tutorial do GitHub

http://github.com/guides/providing-your-ssh-key

Instale um SGBD

MySQL

$ sudo apt-get install mysql-client mysql-server libmysqlclient-dev

SQLite3

Obs: O SQLite3 é um SGBD portátil. É lento mas bem menos custoso que o MySQL. Geralmente é a opção default quando se gera um projeto rails.

$ sudo apt-get install libsqlite3-dev

PostgreSQL

$ sudo apt-get install postgresql

Baixe o projeto do repositório no Heroku

Obs.: você precisa fazer parte da lista de colaboradores do projeto no Heroku e ter configurado suas keys devidamente (veja este artigo no Heroku se estiver tendo problemas com isso). Para fazer o download pela primeira vez, usa-se o comando Git clone.

$ git clone git@heroku.com:evening-brook-3751.git quince-site

Isso irá criar o diretório quince-site com todos os arquivos do projeto nele.

Faça e teste suas modificações

Edite os arquivos que desejar e execute

$ rails s

para iniciar o servidor Rails. A configuração default do servidor local é rodar em localhost:3000.

Atualize o repositório remoto com suas modificações

Dica: configure seu terminal para que o git forneça a saída com fontes coloridas. O diretório criado (quince-site) é um repositório git. Isso quer dizer que você pode rodar vários comandos do controlador de versões quando estiver navegando nele ou em seus subdiretórios. Um comando muito utilizado é

$ git status

Isso irá listar de forma bastante inteligível o status atual do repositório em relação ao que já foi colocado em stage (através do comando git add). Assim que você modificar qualquer coisa no projeto e der um git status, os arquivos modificados serão listados. O comando git diff irá exibir as modificações deitas em cada arquivo.

Adicione as modificações para o stage local

Uma vez que as alterações desejadas foram realizadas, usa-se o comando git add para adicionar os arquivos modificados ao stage do controlador de versões. Você pode indicar cada arquivo que deseja adicionar de maneira explícita git add ../caminho/para/o/arquivo.rb (por exemplo) ou adicionar todos os arquivos modificados com

$ git add .

Crie um commit

$ git commit -m "Mensagem do commit (o que você fez)"

Por exemplo:

$ git commit -m "Atualiza logotipo do site"

Mande o commit para o repositório remoto

Isso é feito através do comando git push. Para ver quais repositórios remotos estão associados ao seu repositório git local

$ git remote -v

Você deve ver algo parecido com

heroku  git@heroku.com:evening-brook-3751.git (fetch)
heroku	git@heroku.com:evening-brook-3751.git (push)

Isso indica o nome do remoto (no caso, Heroku) e o seu endereço. Para fazer o upload de suas modificações para o Heroku e dar deploy da aplicação (o que é feito automaticamente pelo Heroku), execute

$ git push heroku master

Um pouquinho mais de Git

A título de informação: master indica o branch para o qual o push está sendo feito. É possível ter vários branches em um mesmo repositório. Para listar todos os branches, use

$ git branch

Isso irá listar todos os branches que estão no seu repositório local. Podem existir branches remotos que não são listados pelo comando acima. Para listá-los, basta fazer

$ git branch -a

Para dar checkout (isso é, mudar o estado do seu repositório para o estado de um outro branch -- remoto ou não), execute

$ git checkout <nome do branch>

Para criar um novo branch, basta executar o seguinte comando:

$ git branch nome-do-novo-branch

Supondo que tenhamos criado o branch como feito acima, podemos dar checkout assim:

$ git checkout nome-do-novo-branch

Há um atalho para realizar as duas ações acima (criar um novo branch e dar checkout) com um único comando:

$ git checkout -b nome-do-novo-branch

Uma vez que dermos checkout para nome-do-novo-branch a partir do branch master, nome-do-novo-branch assumirá o estado de master. Modificações podem ser feitas, então, ao nosso novo branch e posteriormente reunidas ao código do branch master (o que é uma prática de versionamento bastante comum). Para visualizar as diferenças de um branch em relação a outro: (supondo que estamos trabalhando em nosso novo branch)

$ git diff master

Isso irá mostrar todas as diferenças entre os arquivos do novo branch e o anterior. Para levar as modificações do novo branch ao branch master é só fazer um merge. Estando no branch master (se não estiver, git checkout master):

$ git merge nome-do-novo-branch

Isso irá mesclar o conteúdo do branch nome-do-novo-branch ao conteúdo do master. Podem ocorrer conflitos. Para resolvê-los, veja este artigo.

O manual de git

Aqui.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment