Ich benutze git mit meinem Freund, um an einem Projekt mitzuarbeiten. Er hat ein Repo in github erstellt, das aus Ordnern für jeden unserer Namen besteht. Wenn ich also etwas aktualisiere, lade ich es in diesen Ordner hoch und schiebe es dann nach Github, und er tut es auch. Jedes Mal, wenn ein neues Commit durchgeführt wird, müssen wir von github ziehen und die bearbeiteten Dateien in unseren eigenen localhost (wamp) kopieren.
Also, was ich fragen möchte:
Wie überprüfe ich, ob es einen neuen Commit von git bash gibt, ohne github zu überprüfen? Git Pull wird die neueste Version ziehen, die ich kenne, aber was, wenn ich nur zuerst überprüfen möchte?
Sagen Sie, mein Git-Ordner befindet sich in D: // Git / Projektname. Kann ich diesen Ordner an einen anderen Ort kopieren (z. B. USB-Flash-Disk) und dann von diesem USB-Gerät ziehen?
Wenn unsere Methode nicht effektiv ist, haben Sie Vorschläge, wie wir git verwenden sollten? Wir verwenden das CodeIgniter-Framework, also schlug ich zuerst vor, nur die ganzen CodeIgniter-Ordner zu verschieben, aber mein Freund sagte, es sei gefährlich (weil die gesamte Konfiguration und die Datenbank da sind) und unnötig (da der Hauptsystemordner höchstwahrscheinlich unberührt bleibt) ). Also verwenden wir diese aktuelle Methode (mit zwei Ordnern mit unseren Namen und Push und Pull, wenn es ein Update gibt.
Beantworten Sie die ersten beiden Fragen der Reihe nach:
origin
sich jeweils auf das GitHub-Repository bezieht, sollten Sie einfach git fetch origin
ausführen. Dann wird der "Remote-Tracking-Zweig" origin/master
die Version des Masters auf GitHub haben und Sie können ihn mit Ihrem Master mit git diff master origin/master
vergleichen, um den Unterschied zwischen diesen beiden Versionen zu sehen, oder git log master...origin/master
, um die Commits zu sehen sind einzigartig für master
oder origin/master
. Im Hinblick darauf, ob es einen besseren Weg gibt, das zu tun, was Sie tun, fürchte ich, dass ich nicht klar genug verstehe, was Sie tun oder versuchen, vernünftig zu kommentieren. Wenn jedoch Ordner im Repository nach jedem Entwickler mit (vermutlich) sehr ähnlichem Quellcode benannt werden, klingt das ein wenig verdächtig - Sie würden normalerweise Zweige verwenden, um mit abweichenden Versionen desselben Codes umzugehen.
Wenn Ihre Zweigstelle die Remote-Zweigstelle korrekt verfolgt, sollten Sie git status
ausführen können, um zu sehen, ob Sie vor oder hinter der Gegenstelle sind und um wie viele Commits.
Das war etwas verwirrend für mich. Hier ist die Antwort in drei Teilen:
1) Wenn Sie einen Remote-Repo klonen, benötigen Sie normalerweise das Flag -t
, um den entfernten Zweig zu verfolgen, den Sie kopieren:
2) Wenn Sie dies vergessen, können Sie dies jederzeit später tun:
%Vor%3) Wenn Ihre Remote-Zweigstellen denselben Namen haben wie Ihre lokalen Zweigstellen, sollten Sie git so einstellen, dass alle Remote-Zweigstellen automatisch nachverfolgt werden:
%Vor%Für Ihre zweite Frage, ja, das sollte in Ordnung sein, solange Sie den gleichen Benutzer auf Ihrem Rechner verwenden. Git verwendet SSH-Authentifizierung, so dass es keine Rolle spielt, wo sich der Repo befindet, solange der richtige Benutzer den Befehl ausführt, so dass er die richtigen SSH-Anmeldeinformationen zusammen mit der Anforderung sendet.