Ich bin nicht in der Lage, diesen Zustand zu beseitigen, in dem mein Repo gesperrt zu sein scheint. Nach einem Zurücksetzen auf HEAD ~ 1 erhalte ich immer wieder diese Benachrichtigung, dass diese einzelne Datei geändert wird. ‘Hinzufügen’ und ‘Zur Kasse’ haben keine Auswirkung. Ich habe core.autocrlf und core.safecrlf nicht gesetzt (leer).
Siehe unten:
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
$ git status
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: a_file_name.cpp
Die folgenden Befehle (einzeln ausgeführt) haben keine Auswirkung:
$ git checkout -- a_file_name.cpp
$ git reset a_file_name.cpp
$ git add a_file_name.cpp
$ git reset --hard
$ git clean -n
<nothing>
$ git clean -f
<nothing>
$ git status
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: a_file_name.cpp
und es geht weiter…
Was habe ich falsch gemacht?
Antwort auf den Vorschlag von @Don unten (git rm), keine Änderung, aber so geht es:
$ git rm
error: 'a_file_name.cpp' has local modifications
(use --cached to keep the file, or -f to force removal)
$ git rm -f a_file_name.cpp
rm 'a_file_name.cpp'
$ git status
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: a_file_name.cpp
#
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: a_file_name.cpp
#
$ git commit -m"tmp"
[master 2a9e054] tmp
1 file changed, 174 deletions(-)
delete mode 100644 a_file_name.cpp
$ git status
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: a_file_name.cpp
#
Ziemlich zurück zu sq.1
Was sind Ihre Zeilenende-Einstellungen (
autocrlf
,safecrlf
,.gitattributes
etc.)?– ellotheth
29. November 2012 um 17:15 Uhr
hast du es einfach mit git –stash versucht und einfach alle deine Änderungen verstaut?
– Herr Brightside
29. November 2012 um 17:21 Uhr
Was passiert, wenn Sie es tun
git checkout -- a_file_name.cpp
? Stellen Sie außerdem sicher, dass Sie sich im selben Verzeichnis wie die Datei befinden, wenn Sie dies ausführen.– Code-Lehrling
29. November 2012 um 18:38 Uhr
@FractalSpace: Es macht es schwierig, Ihre Frage zu beantworten, ob das, was wie Befehle und Ausgaben aussieht, tatsächlich gefälscht ist und entscheidende Details fehlen.
– CB Bailey
29. November 2012 um 21:05 Uhr
@FractalSpace: Wenn Sie sich in diesem Fall nicht im richtigen Verzeichnis befanden, verstehe ich nicht, warum der Git-Status Ihnen nicht den richtigen relativen Pfad gegeben hat, z
# modified: sub-dir/a_file_name.cpp
. Wenn Sie dies reproduzieren können, sollten Sie einen Fehler melden. Git sollte dies definitiv nicht tun.– CB Bailey
29. November 2012 um 21:10 Uhr