Git-Konflikt (umbenennen/umbenennen)

Lesezeit: 2 Minuten

Nach dem Zusammenführen von Verzweigten habe ich eine erhalten conflict (rename/rename) auf Haufen von Dateien, mit file~HEADund file~my_test_branch erstellt. Wie kann man diese lösen?

Vielen Dank

  • Wählen Sie aus, welche dieser Dateien in den angegebenen Dateien verbleiben sollen und was mit der anderen geschehen soll? Oder fügen Sie ihre Inhalte manuell zusammen, fügen Sie dann das Ergebnis hinzu und führen Sie die Zusammenführung durch.

    – Millielch

    6. Februar 2013 um 15:32 Uhr

  • stackoverflow.com/questions/4679901/git-divergent-renaming könnte hier helfen.

    – VonC

    6. Februar 2013 um 16:13 Uhr

  • Git 2.18 wird helfen.

    – VonC

    14. April 2018 um 0:39 Uhr

Bei folgendem Testaufbau:

git init resolving-rename-conflicts
cd resolving-rename-conflicts
echo "this file we will rename" > will-be-renamed.txt
git add -A
git commit -m "initial commit"
git checkout -b branch1
git rename will-be-renamed.txt new-name-1.txt
git commit -a -m "renamed a file on branch1"
git checkout -b branch2 master
git rename will-be-renamed.txt new-name-2.txt
git commit -a -m "renamed a file on branch2"
git checkout master

Dann verschmelzen branch1 und branch2

git merge --no-ff branch1
git merge --no-ff branch2

Erträge:

CONFLICT (rename/rename): Rename "will-be-renamed.txt"->"new-name-1.txt" in branch "HEAD" rename "will-be-renamed.txt"->"new-name-2.txt" in "branch2"
Automatic merge failed; fix conflicts and then commit the result.

git status

On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)

    added by us:        new-name-1.txt
    added by them:      new-name-2.txt
    both deleted:       will-be-renamed.txt

no changes added to commit (use "git add" and/or "git commit -a")

Wenn Sie eine Datei behalten möchten, sagen wir new-name-2.txt:

git add new-name-2.txt
git rm new-name-1.txt will-be-renamed.txt
git commit

Natürlich müssen Sie bei der Auswahl der einen oder anderen Datei möglicherweise andere Änderungen an Dateien vornehmen, die diese Datei namentlich referenzieren. Wenn es andere Änderungen an der Datei gibt, die nicht umbenannt sind, vor oder nach der Umbenennung in den Zweigen, müssen Sie diese manuell unterscheiden und zusammenführen, um sie in der Datei beizubehalten, die Sie beibehalten.

Wenn Sie stattdessen beide Dateien behalten möchten:

git add new-name-1.txt new-name-2.txt
git rm will-be-renamed.txt
git commit

1257910cookie-checkGit-Konflikt (umbenennen/umbenennen)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy