Ich habe zwei Zweige (A und B) und möchte eine einzelne Datei aus Zweig A mit einer entsprechenden einzelnen Datei aus Zweig B zusammenführen.
Antworten
Zu viele Anzeigen?Sie können die alte Version der zusammenzuführenden Datei auschecken, sie unter einem anderen Namen speichern und dann Ihr beliebiges Zusammenführungsprogramm auf die beiden Dateien anwenden.
z. B.
git show B:src/common/store.ts > /tmp/store.ts
(wobei B der Name der Verzweigung/des Commits/der Markierung ist)
meld src/common/store.ts /tmp/store.ts
Meine Bearbeitung wurde abgelehnt, also füge ich hier an, wie man Änderungen aus einem entfernten Zweig zusammenführt.
Wenn Sie dies nach einer fehlerhaften Zusammenführung tun müssen, können Sie wie folgt vorgehen:
# If you did a git pull and it broke something, do this first
# Find the one before the merge, copy the SHA1
git reflog
git reset --hard <sha1>
# Get remote updates but DONT auto merge it
git fetch github
# Checkout to your mainline so your branch is correct.
git checkout develop
# Make a new branch where you'll be applying matches
git checkout -b manual-merge-github-develop
# Apply your patches
git checkout --patch github/develop path/to/file
...
# Merge changes back in
git checkout develop
git merge manual-merge-github-develop # optionally add --no-ff
# You'll probably have to
git push -f # make sure you know what you're doing.