webentwicklung-frage-antwort-db.com.de

Git wird keine modifizierte Datei hinzufügen

Keine Ahnung, warum das so ist:

git status
On branch master
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)
  (commit or discard the untracked or modified content in submodules)

    modified:   file (modified content)

no changes added to commit (use "git add" and/or "git commit -a")
[email protected]:~/Documents/currentWork/protection_demo$ git add --all
[email protected]:~/Documents/currentWork/protection_demo$ git status
On branch master
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)
  (commit or discard the untracked or modified content in submodules)

    modified:   file (modified content)

Egal was ich mache, git commit -am, git commit -a wird die Datei nicht zum Commit hinzugefügt. Irgendeine Hilfe?

13
Starkers

Ich denke, vielleicht ist der Kommentar von Jubobs richtig. Ist Ihre "Datei" ein Submodul?

Diese Zeile (Festschreiben oder Verwerfen des nicht protokollierten oder geänderten Inhalts in Submodulen) sollte für normale Dateien nicht angezeigt werden.

Folgendes bekomme ich von git status:

$ git status
On branch master
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:   README.txt

no changes added to commit (use "git add" and/or "git commit -a")

(nicht festgehaltener oder geänderter Inhalt in Submodulen) und (geänderter Inhalt) nach meiner README.txt-Datei nicht festlegen oder verwerfen

Möglicherweise müssen Sie das tun, was git empfohlen hat, und den Inhalt in Submodulen bearbeiten.

Edit: Früher dachte ich das "git hinzufügen". konnte das Problem lösen, aber jetzt denke ich, dass es nicht möglich war.

17
palazzo train

Sie können Dateien auf drei Arten hinzufügen

  • Wenn Sie eine einzelne Datei hinzufügen möchten, verwenden Sie git add filenamewithpath
  • Wenn Sie mehrere Dateien hinzufügen möchten, verwenden Sie git add .
  • sie können alle Dateien gleichzeitig hinzufügen und die Commit-Nachricht über diesen Befehl schreiben

    git commit -a -m 'your commit message'

4

Ich hatte das gleiche Problem. Mein persönlicher "Aha" war, dass ich zuvor eine Tracking-.git-Repository-Datei zu einem Unterordner hinzugefügt hatte und daher als Submodul angesehen wurde. Nachdem ich das .git im Unterordner entfernt hatte, fügte es glücklich den Rest meiner Ordner als Teil einer einzigen .git-Datei im Stammordner hinzu. Ich wusste noch nicht mal etwas über Submodule, vielleicht hilft das auch jemandem.

3

hatte das gleiche problem, keine ahnung warum, aber eine .h datei würde sich nicht festlegen. 

Also, ich habe es umbenannt, dieses Original gelöscht und neu erstellt, was einen Git angeht. Dann habe ich diese Änderungen übernommen. Git war glücklich.

Dann habe ich es einfach umbenannt. Wieder freute sich git, zu begehen. 

Kann nicht erklären, warum dies geschah, aber zumindest wurde es behoben.

3
GAllan

Ich bin nicht sicher, ob dies relevant ist oder nicht, aber ich hatte das gleiche Problem, als ich zwischen Linux und Windows umstieg. Ich hatte 2 Dateien, eine WEB.config und eine andere web.config, da Windows nicht zwischen Groß- und Kleinschreibung unterscheidet, es scheint verwirrt zu sein. Ich habe die Datei umbenannt umbenannt und wieder umbenannt und scheint wieder zu arbeiten.

2
Apathy
git reset .

Das hat die Arbeit für mich gemacht. das Bereitstellen aller Dateien, die bereit waren, die enthaltene (geänderte Inhalte) Datei zu übergeben 

0
james kariuki

Das war gestern bei mir passiert, der Typ, in meinem Fall war der Grund, dass ich git aus einem Unterverzeichnis meines Projekts aufrufen wollte. Dann benutzte ich das " git add --all " und es löste das Problem, auch ich war in das richtige Verzeichnis darüber gegangen, es würde auch das Problem gelöst.

Was ich aber nicht bekomme, war: Warum in aller Welt funktionierte der Git-Status und der Befehl git -all in einem Unterverzeichnis? .-.

Hoffe es helfen =)

0

Eine weitere Option ist, dass sich dieselbe Datei im Stash befindet und mit der aktuellen Kopie in Konflikt steht.

Wenn dies der Fall ist, wird git stash drop - den Stash (mit der Datei in Konflikt) löschen und Sie können die geänderte Datei dem Index hinzufügen.

0
Lior Bar-On

Diese ähnliche Sache ist mir passiert. Egal was ich tat, die Datei schien verändert zu sein. Bei der Betrachtung des Unterschieds wurde er wie in einem vorherigen Commit geändert. Die Datei schien selbst nach dem ersten Commit immer geändert zu werden. Schließlich entfernte ich die Datei. Festgenommene Entfernung, die aussah, als hätte ich zwei Dateien entfernt. Dann fügte die Datei erneut hinzu. Seltsame Sache, die ich noch nie gesehen habe.

0
antonkronaj

Ich hatte den gleichen Fehler:

fatal: Cannot update paths and switch to branch 'develop' at the same time.

Dann mit git status:

$ git status
warning: LF will be replaced by CRLF in .gitmodules.
The file will have its original line endings in your working directory.
On branch develop
Your branch is up-to-date with 'Origin/develop'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   .gitmodules
        new file:   submodule_dir

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)
  (commit or discard the untracked or modified content in submodules)

        modified:   submodule_dir (modified content)

und git diff zeigte:

$ git diff
diff --git a/somedir b/somedir
--- a/somedir
+++ b/somedir
@@ -1 +1 @@
-Subproject commit some-commit-hash
+Subproject commit some-commit-hash-dirty

Das Problem war, dass ich versuchte, einen Zweig hinzuzufügen, der noch nicht im Submodul-Repository vorhanden war.

0
modle13