Git: Es wurde nichts zum Festschreiben hinzugefügt, aber nicht verfolgte Dateien sind vorhanden

77

Ich bin neu bei Git und benutze es zum ersten Mal. Ich würde mich freuen, wenn mir jemand helfen könnte. Ich habe versucht, die Antwort in Foren zu finden, aber es kommen unzählige Befehle heraus und ich bin mir nicht sicher, welchen ich verwenden soll.

Wenn ich das auf dem Prod-Server mache git pull, wird folgende Fehlermeldung angezeigt:

Nicht verfolgte Dateien: (Verwenden Sie "git add ...", um in das festzuschreiben, was festgeschrieben wird.)

Optimization/language/languageUpdate.php
email_test.php
nothing added to commit but untracked files present (use "git add" to track)
Please move or remove them before you can merge.

Ich bin mir nicht sicher, wie ich es schaffen soll. Wenn ich sie entferne, woher würde sie entfernt werden? Schätzen Sie Ihre Antwort.

user4943236
quelle

Antworten:

70

Sie haben hier zwei Möglichkeiten. Sie können entweder die nicht verfolgten Dateien zu Ihrem Git-Repository hinzufügen (wie in der Warnmeldung vorgeschlagen), oder Sie können die Dateien zu Ihrer Datei hinzufügen.gitignore , wenn Git sie ignorieren soll.

Um die Dateien hinzuzufügen, verwenden Sie git add:

git add Optimization/language/languageUpdate.php
git add email_test.php

Fügen Sie Ihre folgenden Zeilen hinzu, um die Dateien zu ignorieren .gitignore:

/Optimization/language/languageUpdate.php
/email_test.php

Jede Option sollte es dem git pullErfolg ermöglichen , danach erfolgreich zu sein.

Tim Biegeleisen
quelle
Ok, wenn ich sie hinzufüge, wird sie dem Server oder meinem lokalen Server hinzugefügt?
user4943236
Schwierige Frage. Wenn Sie verwenden git add, werden die Dateien von Ihrem Git-Repository verfolgt. Dies bedeutet, dass sie in jedem Zweig entweder lokal oder auf der Fernbedienung angezeigt werden. Wenn Sie dies nicht möchten, verwenden Sie die .gitignoreOption. Wenn Sie die Dateien wirklich nicht einmal benötigen, können Sie sie löschen.
Tim Biegeleisen
Vielen Dank, nachdem Sie dies getan haben, heißt es: Fehler: Ihre lokalen Änderungen an den folgenden Dateien würden durch Zusammenführen überschrieben: Optimierung / Sprache / Update.php Bitte übernehmen Sie Ihre Änderungen oder speichern Sie sie, bevor Sie sie zusammenführen können.
user4943236
Sie haben eine neue Datei hinzugefügt, und Git erkennt dies als Änderung. Sie müssen dies also festlegen, indem Sie dies tun git commit -m 'Added update PHP script'.
Tim Biegeleisen
1
Ich persönlich mag diese Seite , obwohl es viele Tutorials gibt. Beim Mastern von Git geht es nicht so sehr darum, das richtige Tutorial auszuwählen, sondern nur darum, Erfahrungen damit zu sammeln. Das hast du heute schon gemacht :-)
Tim Biegeleisen
61

Anstatt jede Datei manuell hinzuzufügen, könnten wir auch Folgendes tun:

git add --all

ODER

git add -A

Dadurch werden auch alle nicht vorhandenen oder gelöschten Dateien entfernt (Verfolgte Dateien im aktuellen Arbeitsverzeichnis, die jetzt nicht vorhanden sind).

Wenn Sie nur Dateien hinzufügen möchten, die nachverfolgt und geändert wurden, möchten Sie dies tun

git add -u

Was ist der Unterschied zwischen git add .& git add --all?

Viv
quelle
Ich habe das Gleiche versucht, aber es zeigt "Warnung: Zugriff auf <Pfad> nicht möglich: Berechtigung verweigert" ....
Vishwaraj
Einige Leute halten dies für eine schlechte Praxis, denn welche Dateien haben Sie gerade hinzugefügt? Du weißt es nicht. Ihr Bash-Befehlsverlauf wird niemals als nützliches Protokoll Ihrer Aktionen dienen. Sie werden sich blind auf die Effektivität Ihres .gitignore verlassen und wahrscheinlich versehentlich Build-Artefakte wie Makefiles festschreiben, wenn diese tatsächlich automatisch generiert werden (wie dies bei einigen Projekten der Fall ist)
Scott Prive
@Crossfit_and_Beer Ich stimme Ihnen irgendwie zu, aber wenn Ihr Gitignore defekt ist, möchten Sie dies in erster Linie beheben, als unkompliziert jede einzelne Datei hinzuzufügen oder jede Datei aus dem Cache zu entfernen, während Sie den defekten Gitignore verwenden. Auch Git-Status ist dein Freund, nur um es noch einmal zu überprüfen.
Viv
oder Sie können git add .sicherstellen, dass Sie die.
Eoin
14

Bitte folgen Sie diesem Vorgang

Installieren Sie zunächst git bash und erstellen Sie ein Repository auf git

1) Wechseln Sie in das Arbeitsverzeichnis, in dem sich die Datei befindet, die Sie auf Remote übertragen möchten, und erstellen Sie den Ordner .git von

$ git init

2) Fügen Sie die Dateien in Ihr neues lokales Repository ein.

$ git add .

Hinweis: Wenn Sie sich im selben Ordner befinden, stellen Sie sicher, dass Sie einen Punkt nach dem Befehl platziert haben, wenn Sie einen Pfad eingeben oder keinen Punkt, der zu Mehrdeutigkeiten führt

3) Übernehmen Sie die Dateien, die Sie in Ihrem lokalen Repository bereitgestellt haben.

$ git commit -m "First commit"**

4) Danach gehen Sie zum Git-Repository und kopieren Sie die Remote-URL

$ git remote add origin *remote repository URL

5)

$ git remote -v

Hinweis: Hier werden Sie aufgefordert, user.email und user.name gemäß Konfiguration einzugeben

6)

$ git push origin master

Dadurch wird der gesamte festgeschriebene Code im Repository an FILE.git gesendet

Und ich denke wir haben es geschafft

Akshay Digrase
quelle
1
Dies löst mein Problem, ich benutze git reset --hard master, um meinen "verdrehten Fortschritt" zurückzusetzen, und mache diese Lösung, und es hat funktioniert. Vielen Dank!!
Michael Harley
0

Befolgen Sie alle Schritte.

Schritt 1: Git initialisieren

$ git init

Schritt 2: Überprüfen Sie, ob Dateien vorhanden sind oder nicht.

$git ls

Schritt 3: Fügen Sie die Datei hinzu

$git add filename

Schritt 4: Kommentar zum Anzeigen hinzufügen

$git commit -m "your comment"

Schritt 5: Link zu Ihrem Repository

$git remote add origin  "copy repository link  and paste here"

Schritt 6: Drücken Sie auf Git

$ git push -u origin master
Zakir Hussain
quelle
0

Wenn Sie bereits versucht haben, mit dem git add .Befehl alle nicht verfolgten Dateien hinzuzufügen, stellen Sie sicher, dass Sie sich nicht in einem Unterordner Ihres Stammprojekts befinden.

git add . wird alle Ihre Dateien unter dem aktuellen Unterordner bereitstellen.

Uriel Hernández
quelle
0

Für den Fall, dass sich jemand nur um den Fehler kümmert nothing added to commit but untracked files present (use "git add" to track)und nicht um Please move or remove them before you can merge.. Vielleicht sehen Sie sich die Antworten auf Git an - Fügen Sie keine Dateien hinzu?

Dort finden Sie mindestens zwei gute Kandidaten für das betreffende Problem: Sie befinden sich entweder in einem Unterordner oder in einem übergeordneten Ordner, jedoch nicht im eigentlichen Repo-Ordner. Wenn Sie sich im Verzeichnis eine Ebene zu hoch befinden, wird auf jeden Fall die Meldung "Nichts zum Festschreiben hinzugefügt ..." angezeigt. Weitere Informationen finden Sie in meiner Antwort im Link. Ich weiß nicht, ob dieselbe Nachricht auftritt, wenn Sie sich in einem Unterordner befinden, aber es ist wahrscheinlich. Das könnte zu Ihren Erklärungen passen.

Lorenz
quelle
-1

Nur der folgende Befehl und jede Datei sollten hinzugefügt werden

git add .

um alle Ihre Dateien festzuschreiben, verwenden Sie

git commit
Abdulbasit
quelle
Vielleicht möchte das Original-Poster wirklich nicht jede einzelne Datei in ihrem Git-Repository haben.
stdunbar