web-dev-qa-db-ger.com

Commit-Verlauf im Remote-Repository

Ich versuche, auf das Festschreibungsprotokoll eines Zweigs in einem Remote-Repository zuzugreifen. Ich habe mir das Dokument angesehen, konnte aber keine wesentlichen Informationen darüber finden, wie ich mit meinem lokalen Git-Client auf den Commit-Verlauf eines Remote-Repos zugreifen kann.

185
user1795998
git log remotename/branchname

Zeigt das Protokoll eines bestimmten Remote-Zweigs in diesem Repository an, jedoch nur die Protokolle, die Sie aus ihrem Repository in Ihre persönliche "Kopie" des Remote-Repository "abgerufen" haben.

Denken Sie daran, dass Ihr Klon des Repositorys den Status aller entfernten Zweige nur mit git fetch Aktualisiert. Sie können keine direkte Verbindung zum Server herstellen, um das Protokoll dort zu überprüfen. Sie müssen lediglich den Status des Servers mit git fetch Herunterladen und dann das Protokoll der Remote-Zweige lokal anzeigen.

Vielleicht könnte ein weiterer nützlicher Befehl sein:

git log HEAD..remote/branch

hier werden die Commits angezeigt, die sich in der Remote-Verzweigung befinden, jedoch nicht in Ihrer aktuellen Verzweigung (HEAD).

228
LopSae

NB. "Origin" im Folgenden zur Darstellung des Upstreams eines geklonten Repositorys. Ersetzen Sie "Origin" durch einen aussagekräftigen Namen für das Remote-Repository. "remote reference" kann dasselbe Format verwenden, das im Befehl clone verwendet wird.

git remote add Origin <remote reference>
git fetch
git log Origin/master
55
Michael Hasan

Sie können das Protokoll nur in einem lokalen Repository anzeigen, das jedoch die abgerufenen Zweige aller von Ihnen eingerichteten Remotes enthalten kann.

Also, wenn Sie ein Repo klonen ...

git clone [email protected]:folder/repo.git

Dies wird standardmäßig auf Origin/master.

Sie können diesem Repo eine andere Fernbedienung als Origin hinzufügen, indem Sie production hinzufügen. Aus dem lokalen Klonordner:

git remote add production [email protected]:folder/repo.git

Wenn wir jemals das Protokoll von production sehen wollen, müssen wir Folgendes tun:

git fetch --all 

Dies ruft von ALLEN Fernbedienungen ab (Standardabruf ohne --all würde nur von Origin) holen

Nach dem Abrufen können wir uns das Protokoll auf der production -Remote ansehen. Sie müssen auch den Zweig angeben.

git log production/master

Alle Optionen funktionieren wie bei der Anmeldung an lokalen Zweigen.

11
ocodo

Ich glaube nicht, dass das möglich ist. Ich glaube, Sie müssen dieses Remote-Repo lokal klonen und git fetch Ausführen, bevor Sie einen git log Dagegen ausgeben können.

10
user959690

Eine schnelle Möglichkeit ist das Klonen mit dem --bare Schlüsselwort und überprüfen Sie das Protokoll:

git clone --bare [email protected] tmpdir
cd tmpdir
git log branch
10
davvs

Das hat bei mir funktioniert:

git fetch --all 
git log production/master

Beachten Sie, dass dies von ALLEN Fernbedienungen abgerufen wird, d. H. Möglicherweise von Ihnen "Sie müssen Objekte im Wert von 2 GB klonen, nur um die Commit-Protokolle zu durchsuchen" .

10
Fellow Stranger

Sie können das Protokoll des Remoteservers problemlos abrufen. Hier ist wie:

(1) Wenn Sie git über ssh verwenden, melden Sie sich einfach mit Ihrem git-Login und -Passwort beim Remote-Server an und chdir den Remote-Ordner, in dem sich Ihr Repository befindet, und führen Sie den Befehl "git log" in Ihrem Repository auf dem Remote-Server aus.

(2) Wenn Sie Git über das Standard-Anmeldeprotokoll von Unix verwenden, müssen Sie nur eine Telnet-Verbindung zu Ihrem Remote-Server herstellen und dort ein Git-Protokoll erstellen.

Hoffe das hilft.

0
Naligator