2017-06-08 2 views
1

Ich bin sehr neu in der Verwendung von git, so dass ich hier einfach etwas Einfaches vermisse. Ich habe ein Remote-Repository (Bonobo, Windows Git) und ein lokales Repository. Es gibt nur einen Zweig namens Master. Ich arbeite nur mit einem anderen Entwickler, Bob.smartgit vergleichen remote repository mit lokalem repository bevor pull oder push

Beginnen wir mit Bob und ich haben smartgit (Windows-Client) und wir haben eine test.txt-Datei in unseren Repos und im Remote-Ursprung Repo. Die Datei ist genau gleich.

Bob bearbeitet seine lokale Testdatei mit "superduper", schreibt lokal und drückt.

Ich hit erfrischen, nichts ändert sich, hm .. Ich warte ein oder zwei Minuten und ein grüner Pfeil zeigt sich. OK, großartig, es gibt eine Veränderung!

Jetzt sehe ich das Protokoll (Rechtsklick auf Repo), keine Änderungen, keine Kommentare? Ich klicke mit der rechten Maustaste auf den Rep und drücke auf Refresh, nichts. Ich melde mich direkt in den entfernten Ursprung, yep, da sind die Änderungen "superduper". Ich warte für 10 Minuten, mein Journalbereich aktualisiert sich mit dem Protokoll seines Commits ändert sich "superduper" und kann sogar die tatsächliche Änderung in der Dateivergleichsansicht sehen. Großartig, es funktioniert alles! Aber es scheint viel zu warten.

Also, meine 2 Fragen sind:

1 - Wie kann ich die kleinen grünen Pfeil angezeigt schneller machen, damit ich weiß das Repo geändert (oder manuell durch einen Scheck Zwingen)

2 - Wie kann Ich mache das Journal schneller aktualisieren (oder manuell erzwingen), sobald ich den grünen Pfeil habe. Ich sitze 10 Minuten in der Zeitung herum, damit das Journal aktualisiert wird, damit ich sehen kann, dass das veränderte Ziehen und Überschreiben wie eine lange Zeit wirkt.

Vielen Dank für jede Eingabe.

Antwort

1

Antwort für beide Fragen ist ziehen. Es wird alle neuen Änderungen von Remote zu Ihrem lokalen Repository ziehen. Aktualisieren sucht nur nach lokal vorgenommenen Änderungen.

Da Sie neu bei Git sind, denke ich, es ist erwähnenswert, dass Pull in zwei Formen kommt: Pull und Fetch. Fetch sucht nach neuen Commits in der Remote und bringt sie in Ihr lokales Repository, aber es ändert nicht Ihren HEAD. Pull führt zwei Dinge aus: 1. Fetch, 2. schau, ob es neue Commits in deinem aktuellen Zweig gibt. Ist dies der Fall, wird versucht, diese neuen Commits in Ihre lokalen Commits entweder mit Merge oder Rebase einzubinden. Wenn Sie keine lokalen Commits ausgeführt haben, wird der aktuelle HEAD einfach auf den neuesten Status von der Remote-Station weitergeleitet.

Beachten Sie, dass grüner Pfeil nur auftritt, wenn Sie (manuell oder im Hintergrund) abholen, zeigt, dass es neue Commits gibt, die Sie ziehen können.

Verwandte Themen