Versão do artigo: Enterprise Server 2.17
Obter alterações de um repositório remote
É possível usar comandos Git comuns para acessar repositórios remotes.
Esses comandos são muito úteis ao interagir com um repositório remote. clone
e fetch
baixam códigos remote de uma URL remota do repositório para seu computador, 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 capturar uma cópia integral do repositório de outro usuário, use git clone
desta forma:
$ git clone https://hostname/USERNAME/REPOSITORY.git
# Clona um repositório em seu computador
Você pode escolher entre várias URLs diferentes ao clonar um repositório. Quando estiver conectado em GitHub, essas URLs estarão disponíveis abaixo dos detalhes do repositório:
Ao executar git clone
, as seguintes ações ocorrem:
- Um novo folder denominado
repo
é criado - Ele é inicializado como um repositório Git
- Um remote nomeado
origin
(origem) é criado, apontando para o URL que você clonou - Todos os arquivos e commits do repositório são baixados ali
- É feito checkout no branch padrão (normalmente denominado
master
)
Para cada branch foo
no repositório remote, um branch de acompanhamento remoto correspondente refs/remotes/origin/foo
é criado em seu repositório local. Normalmente, você pode abreviar os nomes dos branches de acompanhamento remoto para origin/foo
.
Fazer fetch de um repositório remote
Use git fetch
para recuperar trabalhos novos feitos por outra pessoas. Fazer fetch de um repositório captura todos os branches de acompanhamento remoto e tags novos sem fazer merge dessas alterações em seus próprios branches.
Se você já tem um repositório local com uma URL remota configurado para o projeto desejado, é possível capturar todas as informações novas usando git fetch *remotename*
no terminal:
$ git fetch remotename
# Faz fetch de atualizações feitas em um repositório remote
Por outro lado, também sempre é possível adicionar um remote novo e então fazer fetch.
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
# Faz merge de atualizações feitas online com seu trabalho local
Fazer pull de alterações de um repositório remote
git pull
é um atalho conveniente para executar git fetch
e git merge
no mesmo comando:
$ git pull remotename branchname
# Captura atualizações online e faz merge delas em seu trabalho local
Você deve garantir que fez commit de seu trabalho local antes de executar o comando pull
, pois pull
faz um merge nas alterações recuperadas. Caso se depare com um conflito de merge que não consegue resolver, ou se decidir interromper o merge, é possível usar git merge --abort
para o branch voltar onde estava antes de você fazer o pull.