5 Stimmen

Wie entferne ich gefälschte Remote-Zweige, die ich nach der Migration von git-svn zu git habe?

Ich verwende git-svn schon seit einer Weile (alle anderen in meinem Team verwenden svn direkt). Wir haben beschlossen, dass wir alle mit git arbeiten werden. Um dies zu tun, habe ich das Git-Repositorium, das meine "Seite" von Git-svn ist, als solches verwendet:

$ git remote add origin git@github.com:mycompany/myproject.git
$ git push -u origin master

Das ging gut, aber als der Prozess abgeschlossen war, hatte ich all diese lächerlichen Zweige behalten, die git-svn erstellt hatte, als ich anfing, es zu benutzen, mit einem kleinen Haken: git erkannte nicht einmal mehr, dass es sich um Zweige handelte. So sah meine Liste aus:

$ git branch -r
domain_integration
dot-org
dot-org@1977
email-edit-page
origin/account-integration
origin/master
origin/stable
prototype_to_jquery-1.1.0
stable@1976
tags/development-1.1.0.0
tags/pre-2011-02-08
tags/production-1.0
tags/stable-1.0.0
tags/stable-1.0.1
tags/stable-1.1.0
tags/stable-1.1.0.1
trunk-stash

Diese waren lästig, obwohl ich wusste, woher sie kamen (meistens), aber jetzt kann ich sie nicht einmal mehr löschen. Das passiert:

$ git branch -d trunk-stash
error: branch 'trunk-stash' not found.

Ich konnte einige von ihnen beheben, indem ich in .git/refs/remotes ging und sie einfach löschte, aber es waren nur wenige dort. Der einzige andere Ort, wo ich sie finden kann, ist in .git/info/refs. Das sieht in etwa so aus wie das Folgende:

...
7788d300f0d4370d65a3ccf3e47d90f7fb16b0b4        refs/remotes/tags/stable-1.0.0
aace34d6745080ce2b6b29e927f5d1b050b99511        refs/remotes/tags/stable-1.0.1
58bd2ac23d5979ff61bd6305df18f8a5da50f888        refs/remotes/tags/stable-1.1.0
644fd55fcdf2569305cdbe0b6fefb9f247625658        refs/remotes/tags/stable-1.1.0.1
bc8e9f9177c9612aceb55624adea1b02e9e8620f        refs/remotes/trunk
69493e14345e6a7a4db324935bccd6393f201da4        refs/remotes/trunk-stash
25b7024f6c1d38c10400b2c2e7b446aae1e84e06        refs/stash
...

Ich nehme an, dass dies nur die Zweige mit ihren letzten Übertragungen verbindet. Macht es Sinn, die "falschen" Zweige zu löschen? Wird das etwas kaputt machen? (Wird es funktionieren?)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X