wake-up-neo.net

git add. -> immer noch "nichts zu verpflichten" bei neuen Dateien

Ich habe Probleme mit Git, ich kann meine Dateien nicht hinzufügen. Ich habe ls ausgeführt, um anzuzeigen, dass sich die Dateien im aktuellen Verzeichnis befinden, und dann git add . und dann git status.

JJ-Computer:first_app JJ$ git init

Reinitialized existing Git repository in /Users/JJ/Rails_projects/first_app/.git/

JJ-Computer:first_app JJ$ ls

Diary.txt README.rdoc config.ru log   tmp
Gemfile   Rakefile  db    public    vendor
Gemfile.lock  app   doc   script
README    config    lib   test

JJ-Computer:first_app JJ$ git add .

JJ-Computer:first_app Jenn$ git status

# On branch master
nothing to commit (working directory clean)

JJ-Computer:first_app JJ$ 
39
RandyMy

Ihre Befehle sehen korrekt aus (ich habe sie oft so gemacht). 

Erster Versuch

git add --all

und dann git status versuchen. Ich glaube nicht, dass sich das lösen lässt, aber es wäre einen Versuch wert.

Sehen Sie sich als Nächstes die .gitignore-Datei an, sofern Sie eine haben (in der obersten Ebene, wo Sie git init verwendet haben).

cat .gitignore

Entfernen Sie dort alle Einträge, die dazu führen, dass Ihre Dateien ignoriert werden. Gibt es beispielsweise einen Eintrag mit nur *?

Nächster Versuch:

git add --force

und dann git status versuchen.

Wenn nichts davon funktioniert, stelle ich fest, dass Ihre Ausgabe von git init eher "reinitialisiert" als "initialisiert" aussagt, sodass möglicherweise etwas durcheinander geraten ist. Wenn Sie es gerade initialisiert haben und es Ihnen nichts ausmacht, den Verlauf zu verlieren, beginnen Sie erneut mit dem Entfernen des .git-Verzeichnisses:

rm -rf .git

Und dann führen Sie die gleichen Befehle noch einmal aus. Wenn dies nicht funktioniert, sind einige weitere Informationen zu Ihrem Setup erforderlich. Beispielsweise haben Sie möglicherweise eine globale .gitignore-Datei: ~/.gitignore_global, die bearbeitet werden muss (oder entfernt werden soll, wenn Sie dies nicht möchten).

76
quux00

Da ich ein ähnliches Problem mehrmals erlebt habe, möchte ich nur hinzufügen, dass Sie überprüfen sollten, ob Sie versuchen, add from zu erstellen und sich derzeit im Stammordner Ihres Projekts befinden.

35
jimjoebob123

Für den Fall, dass jemand anderes darauf stößt, ist ein weiterer Grund dafür, dass git kein Verzeichnis hinzufügt, dass möglicherweise ein .git-Verzeichnis in diesem Verzeichnis vorhanden ist. 

In diesem Fall erwartet git, dass Sie das als Submodul behandeln. Andernfalls entfernen Sie einfach .git (im Verzeichnis, nicht im Stammverzeichnis) und versuchen Sie es erneut.

Handlicher Befehl:

find . -name '.git' -type d
8
Wtower

In meinem Fall löste ich es durch Verstauen und sofortiges Anwenden des Verstopfens:

git stash
git stash apply

Diese Sequenz verlässt das Repo genauso wie zuvor. Danach funktionierte git add [file] korrekt.

(Verwenden von Git Version 1.7.12.4 unter Suse Linux)

4
Pablo

Aus irgendeinem Grund hat Git für mich gut funktioniert, als ich eine ganze Weile lang Repos in Verzeichnissen in Google Drive File Stream hatte. Gestern bin ich auf dasselbe Problem gestoßen. git add . würde nichts zu begehen melden, aber git add <some explicit filename> hat problemlos funktioniert. Ich habe das Verzeichnis auf meine lokale Festplatte verschoben (außerhalb von Google Drive File Stream) und git add . hat alle ausstehenden Änderungen übernommen. Beachten Sie, dass das Festlegen des Verzeichnisses als "Offline verfügbar" keine Auswirkung hatte, wenn sich das Verzeichnis noch in Google Drive File Stream befand.

2
GarlicFries

In meinem Fall, verursacht durch das Verschachteln eines Git-Verzeichnisses im aktuellen Git-Verzeichnis:

A1.Java
B1.Java
.git
someDirectory
  C1.Java
  .git        
cd someDirectoy
rm .git -rf
0
Vincent

Ich ergänzte die .gitignore-Antwort von quux00 und stellte fest, dass mein Verzeichnis aufgrund des temporären 'build'-Verzeichnisses von Build Manager (Maven) nicht verfolgt wurde. Maven fügte beim Erstellen meines Programms "build" zum .gitignore hinzu und somit wurde mein eigenes Verzeichnis (zufällig als "build" bezeichnet) nicht verfolgt. Dies wurde durch Umbenennen meines "Build" -Verzeichnisses gelöst.

0
TracNav