Como faço para redefinir 'master' para 'origin / master'?

169

Posso fazer o seguinte de maneira mais simples?

git checkout origin/master
git branch -D master
git branch master
git checkout master
    
por Xiè Jìléi 20.04.2011 / 12:34

5 respostas

229

Como KindDragon 's answer menciona, você pode recriar master diretamente em origin/master com:

git checkout -B master origin/master

A página git checkout man menciona:

Se -B for dado, <new_branch> será criado se não existir; caso contrário, é redefinido . Este é o equivalente transacional de

$ git branch -f <branch> [<start point>]
$ git checkout <branch>

Originalmente sugerido:

Algo como:

$ git checkout master

# remember where the master was referencing to
$ git branch previous_master

# Reset master back to origin/master
$ git reset --hard origin/master

com o passo 2 sendo opcional.

    
por 20.04.2011 / 13:22
73

O Git suporta este comando:

git checkout -B master origin/master

Verifique a ramificação origin/master e, em seguida, redefina a ramificação master .

    
por 24.08.2014 / 21:30
28

Acho que até a resposta da VonC tem complexidade em comparação com essa opção:

git update-ref refs/heads/master origin/master
git reset --hard master

git registra automaticamente todos os valores de um ref (através do reflog). Então, depois de executar esse comando, master@{1} refere-se ao valor anterior do mestre.

A resposta da VonC está correta, mas o tempo gasto no checkout do antigo valor do master no sistema de arquivos.

Se você se preocupa com objetos órfãos no repositório, pode executar git gc

    
por 23.01.2013 / 21:48
12

Se você já está no master , pode fazer o seguinte:

git reset --hard origin/master

Ele apontará a ramificação master local para o controle remoto origin/master e descartará quaisquer modificações na pasta de trabalho.

    
por 25.06.2014 / 17:47
-2

Você já é o mestre. Você deseja remover a origem remota, então git pull não faz nada. Então

git remote rm origin

Você pode adicionar o repositório atual como origem ao repositório remoto, se quiser.

NB: Se o local estiver à frente do controle remoto, sua solução apagará as alterações locais!

    
por 28.01.2013 / 04:04

Tags