Skip to main content

Obter alterações de um repositório remote

É possível usar comandos Git comuns para acessar repositórios remotes.

Opções para obter alterações

Esses comandos são muito úteis quando você interage com um repositório remoto. clone e fetch baixam o código remoto de uma URL remota de um repositório para o computador local, merge é usado para mesclar o trabalho de diferentes pessoas com o seu e pull é uma combinação de fetch e merge.

Clonar um repositório

Para obter uma cópia completa do repositório de outro usuário, use git clone desta forma:

$ git clone https://github.com/USERNAME/REPOSITORY.git
# Clones a repository to your computer

Você pode escolher entre várias URLs diferentes ao clonar um repositório. Quando estiver conectado em GitHub, esses URLs estarão disponíveis abaixo dos detalhes do repositório:

Lista de URLs remote

Quando você executa git clone, as seguintes ações ocorrem:

  • Uma pasta repo é criada
  • Ele é inicializado como um repositório Git
  • Um repositório remoto chamado origin é criado, apontando para a URL da qual você fez o clone
  • Todos os arquivos e commits do repositório são baixados ali
  • O branch-padrão foi desmarcado

Para cada branch foo no repositório remoto, um branch refs/remotes/origin/foo de acompanhamento remoto correspondente é criado no repositório local. Normalmente, você pode abreviar esses nomes de branches de acompanhamento remoto para origin/foo.

Fazer fetch de um repositório remote

Use git fetch para recuperar o novo trabalho feito por outras pessoas. A busca em um repositório captura todos os novos branches e as tags de acompanhamento remoto sem mesclar essas alterações em seus branches.

Se você já tiver um repositório local com uma URL remota configurada para o projeto desejado, poderá capturar todas as novas informações usando git fetch *remotename* no terminal:

$ git fetch remotename
# Fetches updates made to a remote repository

Caso contrário, você sempre pode adicionar um novo remoto e, em seguida, procurar. Para obter mais informações, confira "Como gerenciar repositórios remotos".

Fazer merge de alterações em seu branch local

O merge combina suas alterações locais com as alterações feitas por outras pessoas.

Geralmente, você faria um merge de um branch de acompanhamento remoto (por exemplo, um branch com fetch de um repositório remote) com seu branch local:

$ git merge remotename/branchname
# Merges updates made online with your local work

Fazer pull de alterações de um repositório remote

git pull é um atalho conveniente para realizar git fetch e git merge no mesmo comando:

$ git pull remotename branchname
# Grabs online updates and merges them with your local work

Como pull executa uma mesclagem nas alterações recuperadas, você deve garantir o commit do trabalho local antes de executar o comando pull. Se você encontrar um conflito de mesclagem que não pode resolver ou se decidir sair da mesclagem, use git merge --abort para levar o branch de volta para o local em que estava antes do pull.

Leitura adicional