Ich versuche, den Commit-Verlauf einer Verzweigung auf einem Remote-Repository zuzugreifen. Ich habe the doc angesehen, konnte aber keine wesentlichen Informationen darüber finden, wie ich mit einem lokalen Git-Client auf den Commit-Verlauf eines Remote-Repos zugreifen kann.Commit-Verlauf auf Remote-Repository
Antwort
git remote add origin <remote reference>
git fetch
git log origin/master
git log remotename/branchname
Wird in diesem Repository das Protokoll eines bestimmten entfernten Zweiges angezeigt werden, sondern nur die Protokolle, die Sie „geholt“ aus ihrem Repository zu Ihrer persönlichen „Kopie“ der Remote-Repository haben.
Denken Sie daran, dass Ihr Klon des Repository seinen Status von Remote-Zweigstellen nur aktualisiert, indem Sie git fetch
tun. Sie können keine direkte Verbindung zum Server herstellen, um das Protokoll dort zu überprüfen. Sie laden den Status des Servers mit git fetch
herunter und sehen dann lokal das Protokoll der Remote-Zweigstellen.
Vielleicht ein weiterer nützlicher Befehl könnte sein:
git log HEAD..remote/branch
mit dem Sie die Commits zeigt die in der entfernten Zweig sind, aber nicht in Ihrem aktuellen Zweig (HEAD
).
"Sie können nicht direkt eine Verbindung zum Server herstellen, um das Protokoll dort zu überprüfen" - das war das Problem, das ich hatte –
Ich bekomme nur lokale gezogene Änderungen ... beachten Sie die entfernten, sogar tun, holen Sie vorher. – Loenix
Wenn Sie einen 'git fetch' durchführen, müssen Sie' --all' verwenden, um von Fernbedienungen zu holen. – ocodo
Ich glaube nicht, dass dies möglich ist. Ich glaube, Sie müssen das Remote Repo lokal klonen und git fetch
darauf ausführen, bevor Sie eine git log
dagegen ausgeben können.
Stellen Sie sich vor, Sie klonen das Repo bereits lokal und nehmen einige Änderungen vor. . dann möchten Sie überprüfen, ob jemand sich für das Remote-Repo entschieden hat –
Wenn Sie diese Antwort zu "Es ist nicht möglich" ändern, dann ist dies die beste Antwort. Es gibt keine Möglichkeit, mit einem Remote-Git-Client auf den Commit-Verlauf eines Remote-Repos zuzugreifen. – qneill
Sie können das Protokoll nur in einem lokalen Repository anzeigen, das jedoch die abgerufenen Zweige aller eingerichteten Fernbedienungen enthalten kann.
Also, wenn Sie ein Repo-Klon ...
git clone [email protected]:folder/repo.git
Dies wird zu origin/master
Standard.
Sie können diesem Repo eine Fernbedienung hinzufügen, mit Ausnahme von origin
, geben Sie production
ein. Aus dem lokalen Klon Ordner:
git remote add production [email protected]:folder/repo.git
Wenn wir jemals sehen wollen, tun Sie das Protokoll von production
wir müssen:
git fetch --all
Dies ist für alle Fernbedienungen holt (holen Standard ohne --all
nur würde holen von origin
)
Nach dem Abrufen können wir das Protokoll auf der production
Remote suchen, müssen Sie auch die Verzweigung angeben.
git log production/master
Alle Optionen funktionieren wie bei lokalen Abzweigungen.
Eine schnelle Möglichkeit, dies zu tun, ist das --bare
Schlüsselwort zu klonen und anschließend das Protokoll prüfen:
git clone --bare [email protected] tmpdir
cd tmpdir
git log branch
Sie leicht das Protokoll des Remote-Servers erhalten. Hier ist wie:
(1) Wenn Sie git über ssh verwenden - dann melden Sie sich einfach mit Ihrem git Login und Passwort am entfernten Server an - und chdir den entfernten Ordner, in dem Ihr Repository existiert - und führen Sie den "git log" Befehl aus in Ihrem Repository auf dem Remote-Server.
(2) Wenn Sie git über das Standard-Login-Protokoll von Unix verwenden, dann telnet Sie einfach zu Ihrem Remote-Server und machen Sie dort einen Git-Log.
Hoffe, das hilft.
Um anders zu formulieren: "Sie können kein Protokoll eines Remote-Servers abrufen, Sie müssen sich anmelden und das Protokoll mit einem lokalen Git-Client abrufen" – qneill
Dies ist, was für mich gearbeitet:
git fetch --all
git log production/master
Beachten Sie, dass diese von ALLEN Fernbedienungen abruft, das heißt potentiell Sie "have to clone 2GB worth of objects just to look through the commit logs".
Was ist eine Fernreferenz hier? – user1795998
@ user1795998 Die Git-URL des entfernten Repositorys, z.B. 'git: // git.somedomain.tld/some/repo' – gertvdijk
Müssen Sie nicht '' beim Abrufen angeben (oder 'fetch --all' verwenden), wenn Sie keine Verzweigung auf der Fernbedienung verfolgen? –
gertvdijk