2013-01-17 8 views
11

ich die folgenden Zweige haben: zusammenSo viele ungenutzte Zweige. Wie bereinigen?

* master 
newbranch 
remotes/origin/HEAD -> origin/master 
remotes/origin/api-notes 
remotes/origin/event-creation-validation 
remotes/origin/master 
remotes/origin/organizerlocation-bug-demo 
remotes/origin/ticket-180 
  1. Ist der aktuelle Zweig Master unterscheidet sich von Herkunft/Master oder arbeiten diese Zweige?

  2. Wie kann ich die letzten Änderungen in den verschiedenen Zweigen feststellen und wie kann ich sie löschen, um sie zu bereinigen?

Vielen Dank.

Antwort

3

1/Ist der aktuelle Zweigmaster anders als Ursprung/Master oder arbeiten diese Zweige zusammen?

Es ist anders (auch wenn es nach dem Klon von origin/master gestartet wurde) und verfolgt origin/master nicht (siehe "how do I change the remote a git branch is tracking?").

2/wie kann ich sie

zu bereinigen löschen Sie einen Zweig aus dem Fernbedienungen Namespace mit löschen:

git branch -rd origin/api-notes 

(Mehr auf "How do you Remove an Invalid Remote Branch Reference from Git?")

Sie können diff git oder git protokolliert zwei Zweige, um die Commits zu sehen, die Sie nicht haben:
Siehe "Git diff .. ? What's the difference between having .. and no dots?".
Siehe auch "Git: Compare All Local Commits to Remote Repo Version".

7

Sie haben keinen Grund, sich Sorgen zu machen oder etwas aufzuräumen. Deshalb:

Ist der aktuelle Zweigmaster vom Ursprung/Master verschieden oder arbeiten diese Zweige zusammen?

Wenn Sie Master als Tracking-Zweig erstellt haben oder wenn Sie geklont haben (standardmäßig erstellt Klon Tracking-Master), dann ja, eine Art. Tracking bedeutet einfach, dass Git dieses Branch Mapping als Standardziel für Push und Merge verwendet. Es werden auch Statusmeldungen angezeigt, wie z. B. "Verzweigungsstamm vor Ursprung/Master durch 2 Commits".

Wie kann ich die letzten Änderungen in den verschiedenen Zweigen feststellen?

Ich würde einfach

git branch -av 

verwenden Dieser kurze zeigt begehen ID und kurze Zusammenfassung für alle Branchen, lokal und remote.

Darüber hinaus möchten Sie möglicherweise Git Protokoll verwenden. git log --decorate ist sehr hilfreich, um zu sehen, welche Zweige auf was commits zeigen. In den meisten neueren Versionen git (1.7.11+) können Sie es ermöglichen, dauerhaft diesen Befehl:

git config --global log.decorate short 

Wie kann ich sie zu bereinigen löschen?

Sie nicht - Remote-Niederlassungen gehören nicht Ihnen. Remote-Abzweigungen spiegeln einfach den Fernzustand zu einem Zeitpunkt wieder, zu dem git fetch zuletzt ausgeführt wurde.Sie können sie nicht erstellen, und selbst wenn Sie sie unter Verwendung von git branch -rd entfernen, werden diese entfernten Verzweigungszeiger beim nächsten Mal, wenn Sie git fetch tun, sofort zurück sein.

Aber wenn Sie vollständig diese Fernbedienung entfernen:

git remote rm origin 

dann alle entfernten Niederlassungen für diese Fernbedienung wird auf einmal verschwunden sein.

+0

Schöne Erklärung, detaillierter als meine Antwort. +1 – VonC

Verwandte Themen