Ich schreibe mein Programm in Java mit Klassen-Repository von JGit.Wie benutze ich Repository :: resolve (String) in JGit
Diese Klasse hat die Methode resolve (String revstr).
Grundsätzlich analysiert diese Methode eine Git Revision String und gibt eine Objekt ID zurück. Es gibt bestimmte Kombinationen dieser Operatoren, die unterstützt werden:
HEAD, MERGE_HEAD, FETCH_HEAD
SHA-1: ein vollständigen oder abgekürzt SHA-1
refs/...: ein kompletten Referenzname
Kurzname: Ein kurzer Referenzname unter refs/heads, refs/tags oder refs/remotes namespace
tag-NN-gABBREV: Ausgabe von describe, analysiert, indem ABBREV als abgekürzte SHA-1 behandelt wird.
id ^: erste übergeordnete ID begehen, dies ist das gleiche wie id^1
id^0: id sicherzustellen, a^n
ID commit: n-ten Elternteil commit ID
id ~ n: n -th historischer Vorfahre von id, vom ersten Elternteil. id ~ 3 ist äquivalent zu id^1^1^1 oder id ^^^.
ID: Pfad: Lookup Pfad unter Baum von id
id genannt^{begehen}: sicherzustellen, id ein
id^{Baum} begehen ist: gewährleisten id ein Baum
id^{tag} ist: sicherzustellen, id ein Tag
id^{blob}: id sicherzustellen, ist ein Blob
ich diese Methode
Repository repo;
ObjectId commit = repo.resolve("cnfuwfxmiazsdixfnsdiufsdhfiusfhsfisfh^{tree}");
System.out.println(commit);
Erwartete Ouput verwenden möchten:
cnfuwfxmiazsdixfnsdiufsdhfiusfhsfisfh
Ausgang:
sjakfshdofcsmdfocsdfjdofdjgdhgfdgfhgf
//Output is another commit in project.
ich verpflichten zu wollen, die ich eingesetzt habe, aber es zeigt mir eine andere begehen. Ich denke, weil es das erste Elternteil der Commit-ID ist.
Gibt es eine Möglichkeit, die gleiche Commit-ID zu erhalten, die ich in die Methode resolve()
eingegeben habe?
Ihnen sehr danken. Ich lese gerade Ihr JGit-Kochbuch und möchte Ihren Code mit dem Befehl 'Diff von Änderungen an allen Dateien zwischen zwei Commits anzeigen' verstehen. In den nächsten Schritten wird ein Leser instanziiert, um die Daten aus der Git-Datenbank zu lesen und den Tree-Iterator für jeden Commit zu erstellen. Ich habe versucht, es zu testen, aber es funktioniert nicht. Kannst du mir bitte helfen? – thuyanh
Ich habe das _JGit Kochbuch_ nicht geschrieben und bin mir nicht sicher worüber du sprichst. Wenn Sie eine andere Frage haben, führen Sie eine gründliche Recherche durch, wenn keine Lösung gefunden werden kann, und schreiben Sie einen neuen SO-Post. –
Danke. Ich dachte du hast das JGit Kochbuch geschrieben. Ich werde einen neuen SO Post schreiben. – thuyanh