2014-06-19 5 views
8

Ich weiß, das wurde gefragt, ich habe so meine Antworten darauf gesehen, aber nichts scheint zu funktionieren.Git: Kann Remote-Zweig nicht dauerhaft löschen

Hier war mein Workflow. Erstellen Sie einen neuen Zweig und arbeiten Sie daran. Manchmal benutze ich mehrere Computer, damit ich es geschoben Fernbedienung, so dass ich es an anderer Stelle bekommen konnte

git branch new_branch 
git checkout new_branch 
git push -u origin new_branch 

Sie einige meiner Arbeit auf einem der vielen Computer dann verschmelzen zu beherrschen und zu schieben.

git checkout master 
git merge new_branch 

Jetzt möchte ich den Zweig löschen.

git branch -d new_branch (this works fine and when I run 'git branch' it only shows local master 
git branch -r -d origin/new_branch (now on this computer when i run 'git branch -r' it's gone like it should be) 

Aber nachdem ich den Remote-Zweig löschen, unabhängig davon, welche Computer, den ich auf bin, wenn ich Pull git 'oder ‚git holen‘ es, dass new_branch wieder zieht. Ich habe alle Prune-Befehle ausprobiert, die ich gesehen habe und alles. Aber es zeigt sich immer noch.

Antwort

16

Sie müssen dies tun, um den Zweig auf der Fernbedienung zu entfernen.

git push origin --delete new_branch 

Dies wird den Zweig genannt new_branch aus dem Remote-Repository entfernen. (Die new_branch ist eine lokale Verzweigung auf der Fernbedienung. Um es anders auszudrücken, wenn Sie in das Remote-Repository als lokales Repository cd einschreiben könnten, hätte es eine lokale Verzweigung namens new_branch. Das ist die Verzweigung, die Sie mit entfernen Befehl oben.)

Wenn Sie

git branch -r -d origin/new_branch 

tun alles, was passiert ist, dass Sie den Remote-Zweig-Pointer zu entfernen, die in Ihrem lokalen Repository ist. Dieser letzte Befehl ändert nichts im Remote-Repository.

Nachdem Sie die Verzweigung auf der Fernbedienung entfernt haben (mit dem ersten Befehl oben), dann git remote prune origin beginnt auf Ihren anderen Computern zu arbeiten, entfernen ihre Remote-Niederlassungen origin/new_branch.