Wie unstaged Änderungen lösen nicht durch „git status“ gezeigt
$ git status
On branch chore/nbsp-fix-2
nothing to commit, working directory clean
$ git rebase -i master
Cannot rebase: You have unstaged changes.
Please commit or stash them.
Betrachten Wie kann ich herausfinden, was die unstaged Veränderungen, die git von Rebasieren verhindern?
Hintergrund: Jemand hat Dateien mit einem nicht beschädigten Leerzeichen (% A0) im Namen hinzugefügt. Dies hat Probleme mit dem Repository verursacht. Die Dateien werden als nicht verfolgt angezeigt und git denkt, dass das Repository schmutzig ist - ein ähnliches Problem.
Die Technik, die ich verwendet habe, um das Problem zu beheben, ist, einen neuen Zweig zu erstellen, bevor diese Änderungen vorgenommen wurden, und die paar Commits nach diesen Änderungen auszuwählen. Leider bin ich jetzt in dieser Situation. Ich kann mir vorstellen, dass es noch eine andere Datei oder einen anderen Rest dieses Problems gibt, die mich davon abhält, vorwärts zu gehen. Ich bin jetzt in dieser Position, nachdem ich die einzelnen Commits nach den schlechten Dateinamen herausgepickt habe.
Ich bin auf der Suche nach Vorschlägen für die Überwindung dieses Problems. Was ist ein Rebase, den der Status nicht sieht?
Versuchen Sie 'git diff-files', was ist das? Das überprüft Rebase. – jthill
@jthill, geben Sie eine richtige Antwort und ich gebe Ihnen Kredit. 'git diff-files' (und' git diff') lieferten die Antwort. –
Wie ist es passiert? Ich bin daran gewöhnt, dass es sich um eine nicht verfolgte und ignorierte Datei handelt, deren Status ignoriert wird, aber in einem neuen Checkout nachverfolgt wird, und deshalb weigert sich git, darauf zu stampfen, aber das ist nicht, was hier passiert ist und ich bin gespannt was passiert ist. – jthill