Zum Beispiel können Sie eine git remote --verbose
tun und git zeigt alle Fernbedienungen, die Sie in Ihrem Projekt haben, zeigt git branch
alle Zweige und signalisieren den aktuellen Zweig, aber wie man alle Unterbäume auflistet, ohne einen destruktiven Befehl? git subtree
wird die Anwendungsbeispiele geben, aber nichts auflisten. Teilbaum haben nur add
, pull
, push
, split
, merge
.Wie kann ich die Git-Teilbäume auf der Wurzel auflisten?
Antwort
Es gibt keine explizite Möglichkeit, dies zu tun (zumindest vorerst), die nur hier verfügbaren Befehle aufgeführt (wie Sie selbst bemerkt, aber hier ist eine Referenz für zukünftige Suchende): https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt
Ich ging durch den Code (im Grunde all dieser Mechanismus ist eine große Shell-Skript-Datei), die gesamte Verfolgung erfolgt durch Commit-Nachrichten, so dass alle Funktionen verwenden Mechanismus mit vielen grep
-ing, um seine eigenen Daten zu finden.
Seit Teilbaum einen Ordner mit dem gleichen Namen im Stammordner des Repositorys haben müssen Sie diese ausführen können die Informationen, die Sie (in Bash-Shell) erhalten möchten:
git log | grep git-subtree-dir | tr -d ' ' | cut -d ":" -f2 | sort | uniq
Nun doesn diese‘ t prüfen, ob der Ordner vorhanden ist oder nicht (Sie es und der Teilbaum Mechanismus löschen können nicht wissen), also hier, wie Sie nur die bestehenden Teilbäume auflisten können, wird dies im Repository in einem beliebigen Ordner arbeiten:
git log | grep git-subtree-dir | tr -d ' ' | cut -d ":" -f2 | sort | uniq | xargs -I {} bash -c 'if [ -d $(git rev-parse --show-toplevel)/{} ] ; then echo {}; fi'
Wenn du wirklich dazu in der Lage bist, schlage es Git Jungs vor, sie in die nächsten Versionen aufzunehmen :)
der Befehl, den du gibst, funktioniert nicht für mich. git log | grep git-subtree-dir liefert keine Ergebnisse (git Version 1.7.9.5) – FlipMcF
+1. @procesar, FlipMcF: Dies ist für mich in "git bash" unter Windows "git version 1.8.5.2.msysgit.0" funktioniert. Der Grund, warum es funktioniert, ist, dass "git subtree" Befehl mehrere Zeilen beginnend mit "git-subtree-" für die Commit-Nachricht und eine der Zeilen sieht wie folgt aus: "git-subtree-dir: you-prefix-folder". Für "prof" - schau einfach auf die Ausgabe von "git log" direkt nach dir Führen Sie "git subtree add ..." aus, und Sie sehen diese Zeilen. –
@FlipMcF, offizielle Teilbaumunterstützung wurde in 1.7 hinzugefügt.11, also benutze ich ein altes und freistehendes Unterbaummodul, das nicht als moderne Version funktioniert. Sie können entweder das aktuellste Teilbaum-Skript installieren (siehe [hier] (http://log.pardus.de/2012/08/modular-git-with-git-subtree.html)) oder Ihre gesamte git-Installation aktualisieren. –
auf Sagi Illtus' answer Anknüpfend, fügen Sie den folgenden Alias zu Ihrem ~/.gitconfig
[alias]
ls-subtrees = !"git log | grep git-subtree-dir | awk '{ print $2 }'"
Dann können Sie git ls-subtrees
aus der Wurzel Ihrer Repository alle Teilbaum Pfade zeigen:
$> cd /path/to/repository
$> git ls-subtrees
some/subtree/dir
Das wäre toll außer es spuckt Duplikate in meinem Repo aus - wahrscheinlich, weil ich einen Teilbaum gelöscht und neu hinzugefügt habe. Wenn ich tatsächlich weiß, was ich mache, ist das hilfreich ;-) –
@MattBracewell Sieh dir 'uniq' an. Sie können den Alias aktualisieren, um ihn zu pipen, oder 'git ls-subtrees | uniq' – kenchilada
Oder verwenden Sie' sort -u' und haben Sie die Verzeichnisse in alphabetischer Reihenfolge als Bonus! – Potherca
- 1. vb.net Projektvorlage wie kann ich verlassen die Wurzel namesapce leer
- 2. Wie kann ich nur die Datenrahmenobjekte in R auflisten?
- 3. Wie kann ich die aktuellen Benutzergruppen in SharePoint 2010 auflisten?
- 4. Wie kann ich die Quelldatei einer ausstehenden Integration auflisten?
- 5. Wie kann ich die bereits in Jenkinsfile verfügbaren Variablen auflisten?
- 6. Wie kann ich die Datenbankverbindungen in Laravel 5 auflisten?
- 7. RSS auf der Wurzel meiner Domain
- 8. Kubische Wurzel der negativen Zahl auf Python
- 9. Wie finde ich die n-te Wurzel eines Wertes?
- 10. .htaccess auf Wurzel brach alles
- 11. Wie kann ich upnp Server/Renderer in der Befehlszeile (Konsolenmodus) auf Linux auflisten?
- 12. Wie kann ich WooCommerce-Bestellungen (WC_Order) bestimmter WC_Customer auflisten?
- 13. Wie kann ich alle vhosts in nginx auflisten
- 14. Wie kann ich globale Variablen in MATLAB auflisten?
- 15. ant: Ordner auf der Kommandozeile auflisten
- 16. Wie kann ich die Plugins (BHOs), die Internet Explorer verwendet, aus meinem Programm auflisten?
- 17. Wie kann ich alle installierten Anwendungen in Windows XP auflisten/auflisten?
- 18. Wie kann ich den ganzen Namespace in XML auflisten?
- 19. Wie kann ich alle Module in einem CVS-Repository auflisten?
- 20. Wie kann ich alle Trigger einer Datenbank in SQLite auflisten?
- 21. Wie kann ich alle in Windows ausgeführten Prozesse auflisten?
- 22. Die Wurzel des PowerPoint-SpellChecker-Bugs gefunden - Wie kann ich mit VBA eine Datei reparieren?
- 23. Wie kann ich MySQL-Datenbanken in einem Python-Array auflisten?
- 24. Wie kann ich den Inhalt des installierten Edelsteins auflisten?
- 25. Wie kann ich die verfügbaren Objekte auflisten, die in Grails injiziert werden sollen?
- 26. Wie kann ich den Inhalt eines Verzeichnisses in Python auflisten?
- 27. Wie kann ich Dateien eines Verzeichnisses in Rust auflisten?
- 28. Wie kann man von der Wurzel des Laravel-Projekts auf env-Datei zugreifen?
- 29. Wie kann ich Dateien, die gestern in einem Verzeichnis geändert wurden, über die Befehlszeile auflisten?
- 30. Rebase auf der Wurzel und hält leer verpflichtet
Entschuldigen Sie mich, aber was ist ein Teilbaum? Running 'git subtree' gab mir' git: 'subtree' ist kein git-Befehl.' – Jokester
Sie müssen Teilbaum auseinander installieren, es ist nicht mit Git im Moment gebündelt. http://engineeredweb.com/blog/how-to-install-git-subtree/. Teilbaum ist eine viel bessere Alternative zu Submodulen :) – pocesar
@pacesar git Teilbaum [wurde verschmolzen] (https://github.com/apenwarr/git-subtree/blob/master/THIS-REPO-IS-OBSOLETE) zur Hauptlinie Git, und es ist seit Version 1.7.11 – 1615903