ti-enxame.com

Como posso optar por substituir o repositório remoto por confirmações locais?

Basicamente, devido a eventos fora do meu controle, meu repositório remoto foi movido - eu trabalhei muito com a minha cópia local e agora eu realmente quero substituir tudo no repositório remoto com meus arquivos locais.

No entanto, parece que não consigo fazer isso. O mais próximo que posso chegar é puxar e fundir, mas depois ele quer me guiar por um processo complicado de fusão. Eu não quero me fundir. Eu quero sobrescrever. Eu não preciso de um novo branch - basicamente, eu só quero um novo começo.

O repositório remoto está em unfuddle.

35
ericgr

Você pode remover o ramo e recriá-lo, digamos que o ramo que você deseja sobrescrever é dev:

Remover o ramo no seu host remoto (github)

git Push Origin :dev  

Então apenas empurre seu dev novamente: 

git Push Origin dev

Eu uso o Github para hospedagem, não estou familiarizado com o unfuddle, mas acho que também funcionará para o unfuddle. :)


Assim como @melee mencionado, você também pode usar 

git Push Origin dev -f

(não tenho certeza se o -f é válido, mas --force é OK)

git Push Origin dev --force

forçar a sobrescrever o ramo. Eu lembro que fiz isso antes. Obrigado @melee. :)

48
Kjuly

Como fazer isso para o branch master, sem extrair dados do repo remoto:

  1. Crie uma nova pasta, init git, adicione repo remoto - não puxe nem busque!

    mkdir clean_repo

    git init

    git remote add Origin <remote-repo>

  2. criar (e alternar para) ramificação local vazia, adicionar, confirmar e enviar um arquivo de teste para isso.

    git checkout test

    echo "test" > test

    git add .

    git commit -m "adding test"

    git Push Origin:test

  3. No github/bitbucket, altere a ramificação padrão para nova ramificação

  4. No local, mude para a ramificação principal, confirme e pressione para repo/branch remoto

    git checkout -b master

    git Push Origin --mirror

4
a20

Eu não sou um especialista em ecossistema github, mas por que você não pode simplesmente redefinir seu url do repositório remoto? 

git remote set-url Origin /path/to/your/new/remote/repository/url

Talvez você também precise configurar sua ramificação up-stream observando here .

para mais sobre git remote..., por favor dê uma olhada aqui .

0
Simple-Solution