-
Notifications
You must be signed in to change notification settings - Fork 2
04 Hands On (GitHub)
Assim que temos um repositório local de alguma forma associado a um repositório remoto, basicamente faz-se o trabalho localmente como até agora foi visto. Fazer modificações, fazer commits, criar branches, etc, tudo isso é trabalho local.
A novidade são os comandos que permitem interagir com o repositório remoto como clone
, push
, pull
e fetch
, que serão abordados sucintamente.
Este comando cria uma working directory que é copia de um repositório local ou remoto.
$git clone /path/to/repository
$git clone https://github.com/<user>/<repo name>.git
Enviar as alterações de uma branch local para um branch remota com o mesmo nome (assumindo que o remote tem o nome simbólico origin).
$git push origin master
💡 Para listar todos os branches, inclusivé remotos, usar
$git branch -a
* master
remotes/origin/master
💡 Para ver todos os remotes associados, usar
$git remote -v
origin https://github.com/<user>/shiny-spork (fetch)
origin https://github.com/<user>/shiny-spork (push)
Este comando faz fetch dos dados no servidor e faz merge no repositório local.
Tal como no comando push
, também é necessário especificar o remote e branch.
$git pull origin someBranch
O comando fetch
transfere os dados do servidor. Mas faz apenas isso, não altera nada no repositório local. A utilidade deste comando é que podemos estar interessados em consultar o estado do repositório remoto sem que mude o local, que poderia gerar conflitos por exemplo, por isso, o fetch
é totalmente seguro.
O push
, na realidade, faz um fetch
seguido de um merge
da branche especificada.
Recomendo que leiam este guiao sobre forking e pull requests.