Ich habe einige Dateien in einem Ordner, die ich nicht git verfolgen wollte, also habe ich hinzugefügt, um sie an die .gitignore
etwa so:Git Fehler: ‚Verweigern untracked Datei zu verlieren‘, wenn fusionieren tun
Directory/Build/
aber wenn ich git status
benutzte, wurden sie immer noch als "modifizierte Dateien, die nicht für das Commit inszeniert wurden" angezeigt. Ich sah diese auf und es wurde vorgeschlagen, die git Index zu reinigen mit:
git rm --r --cached Directory/Build/
Ich tat dies, und nach git status
alle Dateien, die ich untracked haben wollten wurden als Deleted: file
gezeigt, dachte ich, das war gut genug, um als Sie werden aus dem Arbeitsbaum gelöscht (aber nicht lokal, denke ich?).
Aber dann, als ich versuchte git pull
zu tun, habe ich einige seltsame Zusammenführung Konflikte, die ich weiß nicht, wie zu beheben:
error: refusing to lose untracked file at 'Directory/Build/..../file.class'
error: refusing to lose untracked file at 'Directory/Build/..../file.jar'
und auch einig
CONFLICT (modify/delete): ...
CONFLICT (modify/delete): Directory/Build/..../file.jar deleted in HEAD and modified in <<id>>. Version <<id>> of Directory/Build/..../file.jar left in tree.
Ich versuchte git merge -Xours
zu tun, aber Es gab mir immer noch den Konflikt.
Wie lösen?
Wie [VonC sagt] (https://Stackoverflow.com/a/44618504/1256452), müssen Sie die Dateien aus dem Weg räumen. Der Grund dafür, dass "-Xours" und "-Xtheirs" keine Wirkung haben, ist, dass dies "high level" (commit-wide) -Konflikte sind, aber die beiden "-X" -Optionen nur Git dazu bewegen, die eine oder die andere Seite zu bevorzugen beim Auflösen von "Low-Level" (Inside-One-File) -Konflikten. – torek