In einem Zweig in einem Zweig A wird eine Datei geändert und die Änderung festgeschrieben. Jetzt wird in einem anderen Zweig B dieselbe Datei bearbeitet und umbenannt.Resolve "CONFLICT (löschen/ändern)" in git
Beim Zusammenführen von B in A git erkennt den Konflikt richtig (CONFLICT (löschen/ändern)) und beide Dateien sind im Arbeitsverzeichnis.
Wenn ich beide Änderungen in einer Datei haben möchte, wie mache ich das am besten?
Es gibt git merge-file das ist - wenn ich recht habe - erwartet beide Dateien und einen gemeinsamen Vorfahren. Aber wie man letzteres gibt? Wie kann ich sagen "benutze $ path from $ commit" oder so ähnlich?
Beispiel:
mkdir git-rename-repo
cd git-rename-repo
git init
echo "First line" > afile
git add .
git commit -m "First commit in master"
git checkout -b mybranch
echo "Second line in mybranch" >> afile
git mv afile bfile
git commit -a -m "change and rename in mybranch"
git checkout master
echo "Changed first line in master" > afile
git commit -a -m "changed afile"
git merge mybranch
ich jetzt eine Datei mit dem Namen 'BFILE' mit beiden Änderungen wollen:
Changed first line in master Second line in mybranch
Dank
, dass Sie die gelöschte Datei annehmen möchten geht davon aus, die explizit _not true_ in Frage. –
Das bedeutet, dass Ihr lokaler die Datei nicht hat, und git, dass es auf stash. Der Grund, warum Sie den Konflikt haben – workdreamer
Das ursprüngliche Plakat (es war _not_ me) ** HABEN DIE DATEI ** in der lokalen Revision. Es ist jedoch ** unterschiedlich benannt **. Daher vorschlägt, die gelöschte Version zu nehmen ist falsch. Die Änderungen ** müssen ** mit der Datei unter seinem aktuellen, geänderten Namen zusammengeführt werden. –