GoGPT Best VPN GoSearch

OnWorks-Favicon

git-rerere – Online in der Cloud

Führen Sie git-rerere im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl git-rerere, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


git-rerere – Wiederverwendung der aufgezeichneten Lösung von Zusammenführungskonflikten

ZUSAMMENFASSUNG


git Ich werde lachen [klar|vergessen |diff|verbleibenden|Status|gc]

BESCHREIBUNG


In einem Workflow, der relativ langlebige Themenzweige verwendet, kann es vorkommen, dass der Entwickler dies tut
muss die gleichen Konflikte immer wieder lösen, bis die Themenzweige fertig sind
(entweder mit dem „Release“-Zweig zusammengeführt oder von den Upstream-Anbietern verschickt und akzeptiert).

Dieser Befehl unterstützt den Entwickler bei diesem Prozess, indem er Konflikte bei der automatischen Zusammenführung aufzeichnet
Ergebnisse und entsprechende Handauflösungsergebnisse bei der ersten manuellen Zusammenführung und Anwendung
zuvor aufgezeichnete Handauflösungen zu den entsprechenden Automerge-Ergebnissen.

Hinweis
Um dies zu aktivieren, müssen Sie die Konfigurationsvariable rerere.enabled setzen
Befehl.

BEFEHLE


Normalerweise git Ich werde lachen wird ohne Argumente oder Benutzereingriff ausgeführt. Allerdings ist es so
mehrere Befehle, die es ihm ermöglichen, mit seinem Arbeitszustand zu interagieren.

klar
Setzen Sie die von rerere verwendeten Metadaten zurück, wenn eine Zusammenführungsauflösung abgebrochen werden soll. Berufung git
am [--skip|--abort] or git zurückweisen [--skip|--abort] wird dies automatisch aufrufen
Befehl.

vergessen
Setzen Sie die Konfliktlösungen zurück, die rerere für den aktuellen Konflikt aufgezeichnet hat
.

diff
Anzeigeunterschiede für den aktuellen Stand der Auflösung. Es ist nützlich, um zu verfolgen, was
hat sich geändert, während der Benutzer Konflikte löst. Es werden zusätzliche Argumente übergeben
direkt an das System diff Befehl in PATH installiert.

Status
Druckpfade mit Konflikten, deren Zusammenführungsauflösung erneut aufgezeichnet wird.

verbleibenden
Druckpfade mit Konflikten, die von rerere nicht automatisch gelöst wurden. Das beinhaltet
Pfade, deren Auflösungen von rerere nicht nachverfolgt werden können, wie z. B. in Konflikt stehende Submodule.

gc
Bereinigen Sie Aufzeichnungen über Zusammenführungskonflikte, die vor langer Zeit stattgefunden haben. Standardmäßig,
ungelöste Konflikte, die älter als 15 Tage sind, und gelöste Konflikte, die älter als 60 Tage sind
beschnitten. Diese Standardeinstellungen werden über gc.rerereUnresolved und gesteuert
gc.rerereResolved Konfigurationsvariablen bzw.

DISKUSSION


Wenn Ihr Themenzweig einen überlappenden Bereich ändert, den Ihr Hauptzweig (oder Upstream)
berührt, da Ihr Themenzweig davon abgezweigt wurde, möchten Sie es vielleicht mit der neuesten Version testen
master, noch bevor Ihr Themenzweig bereit ist, in den Upstream verschoben zu werden:

o---*---o Thema
/
o---o---o---*---o---o Meister

Für einen solchen Test müssen Sie Master und Thema irgendwie zusammenführen. Eine Möglichkeit, dies zu tun, ist das Ziehen
master in den Themenzweig:

$ Git-Checkout-Thema
$ Git Merge Master

o---*---o---+ Thema
/ /
o---o---o---*---o---o Meister

Die mit * markierten Commits berühren denselben Bereich in derselben Datei. Sie müssen das Problem lösen
Konflikte beim Erstellen des mit + markierten Commits. Anschließend können Sie das Ergebnis testen
Stellen Sie sicher, dass Ihre laufende Arbeit immer noch mit dem neuesten Master funktioniert.

Nach dieser Testzusammenführung gibt es zwei Möglichkeiten, die Arbeit an dem Thema fortzusetzen. Das einfachste
ist es, auf dem Test-Merge-Commit + aufzubauen und wenn Ihre Arbeit im Themenzweig ist
Wenn Sie endlich fertig sind, ziehen Sie den Themenzweig in den Master und/oder bitten Sie den Upstream, daraus zu ziehen
Du. Zu diesem Zeitpunkt könnte jedoch der Master oder der Upstream seit dem weiterentwickelt worden sein
test merge +, in diesem Fall würde das endgültige Commit-Diagramm so aussehen:

$ Git-Checkout-Thema
$ Git Merge Master
$ ... sowohl an Themen- als auch an Master-Branches arbeiten
$ git Kassenmeister
$ git Merge-Thema

o---*---o---+---o---o Thema
/ / \
o---o---o---*---o---o---o---o---+ Meister

Wenn Ihr Themenzweig jedoch langlebig ist, würde Ihr Themenzweig am Ende viele haben
Solche „Merge from Master“-Commits würden die Entwicklung unnötig überladen
Geschichte. Leser der Linux-Kernel-Mailingliste erinnern sich vielleicht daran, worüber sich Linus beschwert hat
solche zu häufigen Testzusammenführungen, wenn ein Subsystembetreuer darum bittet, aus einem vollen Zweig zu ziehen
von „nutzlosen Zusammenführungen“.

Um den Themenzweig frei von Testzusammenführungen zu halten, können Sie alternativ auch die wegblasen
Testen Sie die Zusammenführung und bauen Sie vor der Testzusammenführung weiter auf dem Tipp auf:

$ Git-Checkout-Thema
$ Git Merge Master
$ git reset --hard HEAD^ ;# Testzusammenführung zurückspulen
$ ... sowohl an Themen- als auch an Master-Branches arbeiten
$ git Kassenmeister
$ git Merge-Thema

o---*---o-------o---o Thema
/ \.
o---o---o---*---o---o---o---o---+ Meister

Dadurch würde nur noch ein Zusammenführungs-Commit übrig bleiben, wenn Ihr Themenzweig endlich fertig und zusammengeführt ist
in den Hauptzweig. Diese Zusammenführung würde erfordern, dass Sie den eingeführten Konflikt lösen
durch die mit * gekennzeichneten Commits. Allerdings ist dieser Konflikt oft derselbe Konflikt wie Sie
behoben, als Sie die Testzusammenführung erstellt haben, die Sie umgehauen haben. git Ich werde lachen hilft Ihnen, dieses Problem zu lösen
Führen Sie die endgültige Zusammenführung des Konflikts mithilfe der Informationen aus Ihrer früheren Lösung durch.

Ausführen der git Ich werde lachen Befehl unmittelbar nach einem Konflikt mit der Automerge-Aufzeichnung
in Konflikt stehende Arbeitsbaumdateien mit den üblichen Konfliktmarkierungen <<<<<<<, ======= und
>>>>>>> in ihnen. Später, nachdem Sie mit der Lösung der Konflikte fertig sind, führen Sie die Aktion aus git Ich werde lachen
erneut wird der Auflösungsstatus dieser Dateien aufgezeichnet. Angenommen, Sie haben dies beim Erstellen getan
die Testzusammenführung von Master in den Themenzweig.

Das nächste Mal wird ausgeführt, nachdem ich den gleichen Konflikt bei der automatischen Zusammenführung gesehen habe git Ich werde lachen wird durchführen
Drei-Wege-Zusammenführung zwischen der früheren konfliktbehafteten automatischen Zusammenführung, der früheren manuellen Auflösung,
und die aktuelle konfliktreiche Automerge. Wenn diese Drei-Wege-Zusammenführung sauber aufgelöst wird, ist das Ergebnis
wird in Ihre Arbeitsbaumdatei geschrieben, sodass Sie es nicht manuell auflösen müssen. Notiz
zur Abwicklung, Integrierung, Speicherung und git Ich werde lachen lässt die Indexdatei in Ruhe, Sie müssen also noch die endgültige Vernunft übernehmen
prüft mit git diff (oder git diff -c) und git hinzufügen wenn du zufrieden bist.

Aus Bequemlichkeitsgründen git fusionieren automatisch aufgerufen git Ich werde lachen beim Verlassen mit a
Automerge fehlgeschlagen und git Ich werde lachen zeichnet die Hand auf, wenn es sich um einen neuen Konflikt handelt, oder
Verwendet die frühere Handlösung wieder, wenn dies nicht der Fall ist. git verpflichten ruft auch auf git Ich werde lachen wann
Festschreiben eines Zusammenführungsergebnisses. Das bedeutet, dass Sie nichts Besonderes tun müssen
selbst (außer der Aktivierung der Konfigurationsvariablen rerere.enabled).

Wenn Sie in unserem Beispiel die Testzusammenführung durchführen, wird die manuelle Auflösung aufgezeichnet, und das wird auch der Fall sein
wiederverwendet werden, wenn Sie später die eigentliche Zusammenführung mit dem aktualisierten Master- und Topic-Zweig durchführen, z
solange die aufgezeichnete Auflösung noch gültig ist.

Die Information git Ich werde lachen Datensätze werden auch beim Ausführen verwendet git zurückweisen. Nach dem Blasen
Weg der Testzusammenführung und Weiterentwicklung zum Thema Zweig:

o---*---o-------o---o Thema
/
o---o---o---*---o---o---o---o Meister

$ Git Rebase Master-Thema

o---*---o-------o---o Thema
/
o---o---o---*---o---o---o---o Meister

Sie können Git Rebase Master Topic ausführen, um sich vor Ihrem Thema auf den neuesten Stand zu bringen
bereit für den Upstream-Versand. Dies würde dazu führen, dass auf eine Drei-Wege-Zusammenführung zurückgegriffen würde, und zwar
würde auf die gleiche Weise in Konflikt geraten wie die Testzusammenführung, die Sie zuvor gelöst haben. git Ich werde lachen wird ausgeführt
by git zurückweisen um Ihnen bei der Lösung dieses Konflikts zu helfen.

GIT


Ein Teil des git(1) Suite

Verwenden Sie git-rerere online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.