Ich base in git neu, und ein Konflikt, den ich bekomme, ist "beides hinzugefügt" - das heißt, genau der gleiche Dateiname wurde unabhängig in meinem Zweig und in dem Zweig, auf dem ich neu basiert, hinzugefügt. git status
sagt mir:
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both added: src/MyFile.cs
Meine Frage ist, wie löse ich das? Muss ich ein Zusammenführungstool verwenden oder gibt es eine Möglichkeit, dies nur über die Befehlszeile zu tun? Wenn ja git rm src/MyFile.cs
, woher weiß Git, welche Dateiversion ich entfernen und welche behalten möchte?
git checkout --ours someFile
Sie ... Es scheint, als hätte es beim Git-Status nichts getan. Denken Sie daran, dies später zu tun.git add someFile
git status
Ich finde es manchmal verwirrend, die Optionen
--theirs
und--ours
zu verwenden, um festzustellen, woher die Datei kommt. Die meiste Zeit wird meine in der Filiale sein, auf die ich mich neu beziehe, worauf von Bezug genommen wird--theirs
!Sie können auch verwenden
git checkout <tree-ish> -- src/MyFile.cs
Wobei das
<tree-ish>
entweder durch den Filialnamen oder die Commit-ID ersetzt werden kann, die die Datei enthält, die Sie behalten möchten.git checkout 6a363d8 -- src/MyFile.cs
git checkout my_branch -- src/MyFile.cs
git checkout HEAD -- src/MyFile.cs
quelle
Wenn Sie ...
git checkout --ours someFile
Es scheint, als hätte es beim Git-Status nichts getan.
Denken Sie daran, dies später zu tun.
quelle