Fubilei completamente minha filial local e gostaria de começar de novo. A versão no servidor está correta.
Não quero recomeçar, gostaria de usar minha história local para consertar minha enorme confusão. (Eu posso, se for preciso.)
git fetch branchname
e git pull branchname
não funciona. A mensagem que recebo está " atualizada ", no entanto, minha versão local não corresponde à do servidor.
git pull origin/branchname
dá-me um erro " não encontrado ".
Respostas:
primeiro, crie uma nova ramificação na posição atual (caso você precise do seu histórico antigo 'estragado'):
atualize sua lista de ramificações remotas e sincronize novas confirmações:
redefina sua ramificação para o ponto em que a origem / ramificação aponta para:
tenha cuidado , isso removerá quaisquer alterações da sua árvore de trabalho !
fonte
git fetch origin
antes da reinicializaçãoorigin/branch
. Nunca.git reset
enquanto o HEAD está apontando para um ramo, esse ramo será seguido.O que faço quando atrapalha minha ramificação local é apenas renomear minha ramificação quebrada e verificar / ramificar novamente a ramificação upstream:
Então, se tiver certeza de que não deseja nada do seu ramo antigo, remova-o:
Mas geralmente deixo o ramo antigo localmente, para o caso de haver algo lá.
fonte
git checkout -b <branch> --track <remote>/<branch>
o seu funciona igualmente bem, sem o--track
?branch.autoSetupMerge
(que eu acho padrão) torna o--track
implícito. E, sim, em todas as minhas configurações de git eu não preciso explicitamente--track
ao fazer umcheckout -b
, mas YMMV.Sua filial local provavelmente tem modificações que você deseja descartar. Para fazer isso, você precisará
git reset
redefinir a cabeça da ramificação para o último ponto em que você divergiu da ramificação do repositório upstream. Usegit branch -v
para encontrar o ID sha1 da ramificação upstream e redefina sua ramificação usando-agit reset SHA1ID
. Em seguida, você poderá fazer umgit checkout
para descartar as alterações deixadas em seu diretório.Nota: sempre faça isso em um repositório de backup. Dessa forma, você pode garantir que você mesmo funcionou corretamente. Ou, se não, você tem um backup para reverter.
fonte
Isso é para reverter todas as alterações locais no cabeçalho de origem
fonte