Eu tenho um mestre e um ramo de desenvolvimento no meu repositório. Quero remover a ramificação principal do meu computador para não me comprometer acidentalmente com ela (aconteceu ...).
Há perguntas aqui sobre como excluir ramificações local e remotamente, mas não consegui descobrir como excluir apenas uma ramificação localmente.
Uma resposta disse para usar isso:
git branch -d local_branch_name
Mas eu tentei isso e o ramo ainda aparece no aplicativo GitHub.
Deleted branch master (was e8a8e29).
Respostas:
Eu acho que (com base em seus comentários), que eu entendo o que você quer fazer: você quer a sua cópia local do repositório para ter nem o ramo local ordinária
master
, nem o ramo de rastreamento remotoorigin/master
, mesmo que o repositório que você clonado-o github - possui uma ramificação localmaster
que você não deseja excluir da versão do github.Você pode fazer isso excluindo o ramo de rastreamento remoto localmente, mas ele simplesmente volta sempre que você pede ao seu git para sincronizar seu repositório local com o repositório remoto, porque o seu git pergunta ao git "quais ramos você tem" e diz "eu tenho
master
" para que seu git (re) crieorigin/master
para você, para que seu repositório tenha o que ele possui.Para excluir sua ramificação de rastreamento remoto localmente usando a interface da linha de comandos:
mas, novamente, ele retornará apenas às ressincronizações. Ela é possível derrotar este bem (usando
remote.origin.fetch
manipulação), mas você é provavelmente melhor fora apenas a ser disciplinado o suficiente para não criar ou modificarmaster
localmente.fonte
Forçar exclusão da ramificação local:
[ NOTA ]:
"-D"
é a opção de exclusão forçada.fonte
Até onde eu entendo o problema original, você adicionou confirmações ao mestre local por engano e não fez essas alterações ainda. Agora você deseja cancelar suas alterações e espera excluir as alterações locais e criar uma nova ramificação principal a partir da remota.
Você pode apenas redefinir suas alterações e recarregar o mestre do servidor remoto:
fonte
O aplicativo Github para Windows mostra todas as ramificações remotas de um repositório. Se você excluiu a ramificação localmente com
$ git branch -d [branch_name]
, a ramificação remota ainda existe no seu repositório do Github e aparecerá independentemente do aplicativo Windows Github.Se você deseja excluir a ramificação completamente (remotamente também), use o comando acima em combinação com
$ git push origin :[name_of_your_new_branch]
. Aviso: este comando apaga todas as ramificações existentes e pode causar perda de código. Cuidado, acho que não é isso que você está tentando fazer.No entanto, sempre que você excluir a ramificação local, a ramificação remota ainda aparecerá no aplicativo. Se você não quiser continuar fazendo alterações, ignore-o e não clique, caso contrário, poderá clonar o repositório. Se você tiver mais alguma dúvida, entre em contato.
fonte
você precisa mudar para outro ramo e tentar o mesmo.
git branch -d
fonte
Pelas suas tags, presumo que você esteja usando o Github. Por que não criar algumas regras de proteção de ramificação para sua ramificação mestre? Dessa forma, mesmo se você tentar pressionar para dominar, ele a rejeitará.
Eu também recomendaria fazer o mesmo para o seu ramo de desenvolvimento.
fonte