Ihr Zweig ist ‘origin/master’ um X Commits voraus. Wie finde ich die X-Commits? [duplicate]

Lesezeit: 4 Minuten

Ich habe die X-Commits mit dem folgenden Befehl überprüft:

git log --author=<my-name> -<X>

Aber das Problem ist, dass ich versehentlich Code aus einem anderen Repository gezogen und die Commits aus dem Repository zu meinem lokalen Git-Repository hinzugefügt habe.

Daher kann ich den obigen Befehl nicht verwenden, da die neuen Commits einige andere Autoren enthalten.

  • Wenn Ihre Arbeitskopie sauber ist (keine nicht festgeschriebenen Änderungen), können Sie mit stackoverflow.com/q/1223354/11343 zum Zustand vor dem Pull zurückkehren

    – KarlB

    4. Januar 2013 um 9:39 Uhr

  • @CharlesB “git reset –hard” nimmt den Zustand vor dem Pull nicht an. Die Meldung kommt noch.

    – Mohammed H

    4. Januar 2013 um 10:25 Uhr


  • Sie müssen den Commit-Hash des Commit finden, der vor dem Pull ausgecheckt wurde, und ihn an übergeben reset --hardlesen Sie bitte die von mir angesprochene Frage

    – KarlB

    4. Januar 2013 um 10:34 Uhr


  • Was meinen Sie mit “X Commits” die Menge an Commits, die lokal, aber nicht remote vorhanden sind? Die Menge der von Ihnen erstellten Commits? Die Frage ist etwas mehrdeutig, was Sie suchen.

    – Maic López Sáenz

    10. Januar 2013 um 1:55 Uhr


  • @LopSae die Anzahl der Commits, die lokal, aber nicht remote vorhanden sind.

    – Mohammed H

    10. Januar 2013 um 4:20 Uhr

Benutzer-Avatar
tobiasbayer

Der Befehl

git log origin/master..master

zeigt die laufenden Commits an master aber nicht an origin/master.

  • Die Commits werden nicht angezeigt. Es zeigt, dass einige Commits in meinem lokalen Repository und in meinem Remote-Repository vorhanden sind.

    – Mohammed H

    4. Januar 2013 um 9:48 Uhr

  • Vielleicht habe ich deine Frage dann falsch verstanden…

    – Tobias Bayer

    4. Januar 2013 um 9:54 Uhr

  • Akzeptiere die Antwort basierend auf den Stimmen, die du erhalten hast: D

    – Mohammed H

    24. Februar 2018 um 5:04 Uhr

Benutzer-Avatar
David Culp

Ich habe einen Alias ​​für diesen Befehl erstellt, der die Commits auflistet, die nicht gepusht wurden.

git log –branches –not –remotes –decorate –oneline

Dabei handelt es sich um eine Variation eines Befehls cxreg, der in Viewing Unpusched Git Commits gepostet wurde.

In diesem Beitrag finden Sie auch viele andere nützliche Möglichkeiten, den Commit-Baum zu analysieren.

Benutzer-Avatar
Maic López Sáenz

Das treeish..treeish Notation funktioniert genau, um die Commits zu sehen, die in der zweiten Referenz vorhanden sind, aber nicht in der ersten. Aus der Git-Log-Hilfe:

Ein reguläres D..M berechnet den Satz von Commits, die Vorfahren von M sind, schließt jedoch diejenigen aus, die Vorfahren von D sind. Dies ist nützlich, um zu sehen, was mit der Geschichte passiert ist, die seit D zu M führt, in dem Sinne, dass “was tut M haben, die es in D nicht gab”.

Verwenden Sie dies entweder mit git log oder git show Sie können eine Liste ausgeben, die eine einzelne Zeile für jeden Commit-Pressent in der enthält D..M Unterschied:

git show -s --oneline branch..HEAD

oder

git log --oneline branch..HEAD

Kombinieren Sie das mit einer Wortanzahl und Sie können genau die Anzahl der Commits ausgeben, nach denen Sie suchen:

git log --oneline branch..HEAD | wc -l

  • Ich habe die oben genannten Befehle ausprobiert. Ich bekomme überhaupt keine Ausgabe.

    – Mohammed H

    11. Januar 2013 um 4:24 Uhr

  • Wenn Sie keine Fehler erhalten und die show/log wie oben nichts drucken, dann bedeutet es das, vorausgesetzt A..B, B enthält bereits alle Commits in A, und es gibt keine zu druckenden Commits. Versuchen Sie, es umzukehren, oder versuchen Sie es mit ein paar Commits, bei denen Sie sich des Unterschieds sicher sind. Zum Beispiel, wenn Sie es mit versuchen HEAD^..HEAD Sie müssen ein einzelnes Commit angezeigt bekommen.

    – Maic López Sáenz

    11. Januar 2013 um 6:06 Uhr

  • Die oben genannten Kommentare vergleichen nur mit dem lokalen Repo. Wie kann man mit Remote Repo vergleichen?

    – Mohammed H

    11. Januar 2013 um 6:10 Uhr

  • Verwenden Sie eine Referenz mit dem Format remote/branchso wie origin/master. Wenn Ihr lokaler und Ihr Remote-Zweig gleich benannt sind und Ihr Remote-Zweig gleich ist origindann könntest du das machen origin/branch..branch. Nach dem, was Sie in der Frage beschreiben, möchten Sie vielleicht origin/master..HEAD.

    – Maic López Sáenz

    11. Januar 2013 um 8:12 Uhr


Benutzer-Avatar
Benutzer1834095

Diese Frage wurde bereits in einem anderen Beitrag beantwortet:

git log origin/master..HEAD

(siehe Nicht gepushte Git-Commits anzeigen)

Ich benutze das:

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

Es zeigt Commits als Diagramm mit allen Zweigen und ihren Namen.

Mein Rat ist, einen Alias ​​dafür in ~/.gitconfig zu erstellen

  • Ich denke, es enthält die Commits. Aber es zeigt zu viele Informationen. Wie können die X Commits daraus identifiziert werden?

    – Mohammed H

    4. Januar 2013 um 9:49 Uhr

  • Sie können natürlich hinzufügen --author=<my-name> -<X> dazu. Oder ist es nicht das, was du wolltest?

    – Amorfis

    5. Januar 2013 um 10:40 Uhr

  • Ich denke, es enthält die Commits. Aber es zeigt zu viele Informationen. Wie können die X Commits daraus identifiziert werden?

    – Mohammed H

    4. Januar 2013 um 9:49 Uhr

  • Sie können natürlich hinzufügen --author=<my-name> -<X> dazu. Oder ist es nicht das, was du wolltest?

    – Amorfis

    5. Januar 2013 um 10:40 Uhr

1158940cookie-checkIhr Zweig ist ‘origin/master’ um X Commits voraus. Wie finde ich die X-Commits? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy