2012-12-18 15 views
138

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

47
git remote add origin <remote reference> 
git fetch 
git log origin/master 
+0

Was ist eine Fernreferenz hier? – user1795998

+2

@ user1795998 Die Git-URL des entfernten Repositorys, z.B. 'git: // git.somedomain.tld/some/repo' – gertvdijk

+1

Müssen Sie nicht '' beim Abrufen angeben (oder 'fetch --all' verwenden), wenn Sie keine Verzweigung auf der Fernbedienung verfolgen? – gertvdijk

172
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).

+4

"Sie können nicht direkt eine Verbindung zum Server herstellen, um das Protokoll dort zu überprüfen" - das war das Problem, das ich hatte –

+1

Ich bekomme nur lokale gezogene Änderungen ... beachten Sie die entfernten, sogar tun, holen Sie vorher. – Loenix

+2

Wenn Sie einen 'git fetch' durchführen, müssen Sie' --all' verwenden, um von Fernbedienungen zu holen. – ocodo

9

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.

+1

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 –

+0

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

10

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.

7

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 
1

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.

+4

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

Verwandte Themen