Ich habe Probleme, bei denen ich meinem Repository keine Dateien hinzufügen kann.
Ich verwende GIT unter Windows in Aptana Studio für einige Ruby-Entwicklungen.
Ich habe es geschafft, ein paar Dateien auf GitHub zu übertragen, aber danach funktioniert alles nicht mehr. Ich habe zum Beispiel einen neuen Unterordner in meinem Hauptverzeichnis mit 2 Ruby-Dateien. Wenn ich "git add." Und dann "git status" aufrufe und immer wieder "Working Directory Clean" steht und nichts festzuschreiben hat.
Ich habe versucht "git add folder / myfile.rb" und immer noch nichts.
Hat jemand eine Idee, was ich versuchen kann?
Antworten:
Ich befand mich in einer ähnlichen Situation wie auf dem Plakat:
Aber ich hatte eine andere Lösung als hier. Da ich zuerst dazu gekommen bin, hoffe ich, anderen etwas Zeit zu sparen.
Aus den obigen Antworten und dem, was ich an anderer Stelle gesehen habe, sind die üblichen Lösungen für dieses Problem:
.gitignore
und entspricht.git/info/exclude
.gitkeep
als Platzhalter zu platzieren, damit git den Ordner verfolgt.In meinem Fall hatte ich ursprünglich versucht, ein Git-Repo um ein vorhandenes Repo zu erstellen (ohne zu wissen, dass es dort war). Ich hatte den
.git
Ordner vor einiger Zeit aus diesem Sub-Repo entfernt , aber ich wusste nicht, dass es zu spät war, und Git verfolgte ihn bereits als Submodul . Sie können mehr darüber , wie diese verhalten sich lesen und wie sie zu entfernen , hier , abergit rm --cached path_to_submodule
.quelle
git rm --cached name_of_former_submodule
und es bekam den Pfad automatisch.So ergänzen Sie die möglichen Lösungen für andere Benutzer:
Stellen Sie sicher, dass Sie die Groß- und Kleinschreibung des Ordnernamens in Windows nicht geändert haben:
Ich hatte ein ähnliches Problem, bei dem ein Ordner aufgerufen wurde
Setup
von Git gesteuert und auf GitHub gehostet wurde. Die gesamte Entwicklung wurde auf einem Windows-Computer durchgeführt.Irgendwann habe ich den Ordner in
setup
(Kleinbuchstabe S) geändert . Von diesem Zeitpunkt an, als ich neue Dateien zum Setup-Ordner hinzufügte, wurden sie imsetup
Ordner und nicht imSetup
Ordner gespeichert , aber ich denke, weil ich auf einem Windows-Computer die vorhandenen entwickelteSetup
Ordner in git / github nicht in geändertsetup
.Das Ergebnis war, dass ich nicht alle Dateien in der Datei sehen konnte
setup
im GitHub sehen konnte. Ich vermute, wenn ich das Projekt auf einem * nix-Computer geklont hätte, hätte ich zwei Ordner gesehen,Setup
undsetup
.Stellen Sie also sicher, dass Sie die Groß- und Kleinschreibung des enthaltenen Ordners auf einem Windows-Computer nicht geändert haben. Wenn ja, würde ich Folgendes vorschlagen:
setup-temp
git add -A
git commit -m "Whatever"
git add -A
git commit -m "Whatever"
quelle
Wenn die Datei von ausgeschlossen ist
.gitignore
und Sie sie trotzdem hinzufügen möchten, können Sie sie erzwingen mit:quelle
.gitignore
sicher, warum!), Und dies behebt mein Problem!Seltsam, aber ich habe die ganze Nacht mit Git gekämpft, um eine Datei hinzuzufügen. Es stellte sich heraus, dass es bereits hinzugefügt wurde. Git hat meine Änderungen nicht übernommen, da die Änderungen nicht gespeichert wurden, da auf die Datei von meinem Konto nicht zugegriffen werden konnte und meine IDE dies nicht über SSH meldete.
Kurz gesagt, stellen Sie sicher, dass Sie es noch nicht zum Repository hinzugefügt haben.
quelle
git
Wenn Sie darüber nachdenken, könnte eine Nachricht hinzugefügt werden, wenn sich einer der angegebenen Pfade vollständig bereits im Repository befindet. Dies hätte mindestens 13 Personen einige Minuten gespart.Überprüfen Sie Ihre
.gitignore
Datei noch einmal, um sicherzustellen, dass die Datei von Git gesehen werden kann. Ebenso gibt es eine Datei.git/info/exclude
, die Dateien / Verzeichnisse aus dem Projekt ausschließt, genau wie eine.gitignore
Datei.quelle
Ich hatte gerade dieses Problem und das Problem war, dass ich mich in einem Verzeichnis befand und nicht auf der obersten Ebene. Sobald ich auf die oberste Ebene gegangen bin, hat es funktioniert.
quelle
git add ..
oder was auch immer erforderlich sein können, um auf das Niveau zu gelangen, unter dem meine Änderungen existierten, und es hätte auch funktioniert. Dies ist hier nur ein Gotcha-Problem (mein Benutzerfehler).Am besten kopieren Sie Ihren Ordner. Löschen Sie das Original. Klonen Sie das Projekt von Github, kopieren Sie Ihre neuen Dateien in den neuen geklonten Ordner und versuchen Sie es erneut.
quelle
Ich hatte dieses Problem mit dem ersten Programm im Ordner. Ich habe "git add" und dann "git commit". "git status" gab den beschriebenen Fehler an, dh "nichts festzuschreiben, Arbeitsverzeichnis sauber"
Am Ende habe ich die .git-Datei aus dem Programmordner gelöscht. Dann habe ich ein neues Git-Init, Git-Add und Git-Commit gemacht und es hat funktioniert.
quelle
cd
in den Ordner zurgit add
Datei.Wie wäre es mit dem Standardverfahren:
Dadurch werden der Ordner und alle seine Dateien mit einem einzigen Befehl hinzugefügt.
Bitte beachten Sie, dass git keine leeren Ordner speichern kann.
Wenn das Festschreiben nicht funktioniert hat, sollten Sie es wahrscheinlich zuerst überprüfen
.gitignore
.quelle
Hier finden Sie eine Antwort auf das gleiche Problem:
Im Grunde war das Problem in diesem Fall das Ignorieren von global_git
quelle
In meinem Fall wurde das Problem mit der Option SafeCrLf aktiviert. Ich bin an Fenstern mit Schildkrötengit. Nach dem Deaktivieren der Option war das Hinzufügen der Dateien kein Problem mehr.
quelle
Ein weiteres Problem können Dateiberechtigungen sein. Versuchen Sie Folgendes auszugeben:
chmod 755 file1
quelle
Dumme Lösung von mir, aber ich dachte, dass es keine neuen Dateien hinzufügt und pusht, weil github.com nicht die Dateien anzeigt, die ich gerade gepusht habe. Ich hatte vergessen, dass sich die von mir hinzugefügten Dateien in einem anderen Zweig befanden. Die Dateien hatten ganz gut gepusht. Ich musste von meinem Hauptzweig zum neuen Zweig in Github wechseln, um sie zu sehen. Habe ein paar Minuten verloren :)
quelle
Es ist (für mich) unmöglich, die erste Datei zu einem leeren Repository hinzuzufügen, das von GitHub geklont wurde . Sie müssen dem Link README folgen, den GitHub erstellen möchte. Nachdem Sie Ihre erste Datei online erstellt haben , können Sie normal mit git arbeiten.
Das ist mir am 17. November 2016 passiert.
quelle
Ich bin immer noch ein Anfänger in Git, und es war nur ein dummer Fehler, den ich gemacht habe, lange Geschichte in einem Satz. Ich war nicht in einem Unterordner, wie @gaoagong berichtete, sondern umgekehrt in einem übergeordneten Ordner. Seltsamerweise kam mir die Idee aus dieser Antwort nicht, stattdessen kam die Idee beim Testen auf
git add --all
, siehe die lange Geschichte unten.Beispiel im Detail. Tatsächliches Repo:
Der übergeordnete Ordner, den ich versehentlich auf übergeordneter Ebene geöffnet hatte (in meinem Fall vscode_git):
Ich hatte ein Repo geklont, aber ich hatte einen übergeordneten Ordner über diesem Repo, den ich stattdessen geöffnet hatte, und dann versuchte ich, eine Datei des Repos des Unterordners mit hinzuzufügen
git add 'd:\Stack Overflow\vscode_git\vscode-java\.github\ISSUE_TEMPLATE.md'
, die einfach nichts tat, keine Warnmeldung, und dasgit status
sagte danach:Laufen
git add --all
gab mir die gelben Noten:Um dies zu beheben, kehrte ich
git add --all
mitgit rm --cached -r -f -- "d:\Stack Overflow\vscode_git\vscode-java" rm 'vscode-java'
:Öffnen Sie dann einfach den eigentlichen Repo-Ordner.
Der Idiot funktionierte wieder wie erwartet. Natürlich könnte der Ordner ".git" des übergeordneten Ordners dann gelöscht werden:
quelle
Sie können das git-initialisierte Repo rekursiv entfernen
$cd repo added $git rm -rf git
Sie können einen separaten Zweig erstellen und die Submodule mit dem Hauptzweig verknüpfen. Die Dokumentation zu Submodulen ist sehr nützlich. Dokumentation [https://git-scm.com/book/en/v2/Git-Tools-Submodules]
Siehe auch einige Lösungen in [/programming/36236484/maintaining-a-git-repo-inside-another-git-repo]
quelle
Ich suchte eine Weile herum und stellte schließlich fest, dass ich den SSH-Port blockiert hatte, was dazu führte, dass der Befehl git add nicht mehr funktionierte. Am Ende habe ich den Ursprung mithilfe von https mit dem folgenden Befehl geändert: git remote set-url origin [url-to-git-repo]
quelle
Ich weiß, dass dies eine wirklich alte Frage ist, aber ich weiß, dass es auch jemandem passieren kann. Es stellte sich heraus, dass ich mit einer Datei namens AUX.JS gearbeitet habe und dass dies ein reservierter Dateiname für Windows ist. Dies führte zu dem folgenden Fehler
Sie können die Datei also entweder entfernen oder umbenennen, dann funktioniert es.
Abschließende Schlussfolgerung: Wenn Sie sich in einem Windows-Computer befinden und nach der Ausgabe des Befehls 'git add' Ausschau halten, kann er neben allen anderen gültigen Antworten auch zusätzliche Informationen bereitstellen.
quelle
Hatte das gleiche Problem mit einem Repo, das ich von SiteGround Git auf meinen Mac geklont habe. Das frisch geklonte Repo hatte eine Liste der geänderten Dateien, die
git status
die dem Commit hinzugefügt werden mussten, aber der Versuch, eine von ihnen hinzuzufügen oder auszuchecken, hat überhaupt nichts bewirkt.Aus irgendeinem Grund gab es Falländerungen in den Dateinamen (z. B. .jpg -> .JPG). Die Lösung bestand darin, einfach
git mv
den Dateinamen zu verwenden, den das Betriebssystem für den Namen git verwendete, z.quelle
Ich habe dieses Problem kürzlich auf meinem Computer unter Windows 7 festgestellt. Ich verwende die Benutzeroberfläche des Befehlsfensters git. Die Lösung bestand darin, beim Hinzufügen von git sehr vorsichtig mit der Groß- und Kleinschreibung der Datei- und Verzeichnisnamen umzugehen. Obwohl sich git nicht beschweren würde, wenn der Fall nicht genau mit dem Fall der Windows-Dateisystemdatei und der Verzeichnisnamen übereinstimmt, würde es die Dateien auch nicht hinzufügen. Es würde nichts zu begehen geben. Sobald ich die Dateinamen mit der genau richtigen Schreibweise eingegeben habe, werden sie hinzugefügt und unter den Änderungen aufgelistet, die wie beabsichtigt festgeschrieben werden sollen.
quelle
Ich hatte dieses Problem in Visual Studio. Bei mir funktionierte Folgendes: 1- Klicken Sie mit der rechten Maustaste auf die hinzugefügte Datei, die von git nicht erkannt wird. 2- Wählen Sie "Ausgeschlossene Datei zur Quellcodeverwaltung hinzufügen".
quelle
Ich hatte das gleiche Problem und es lag daran, dass ein Programm eine Datei verwendete und Git in diesem Fall einen Fehler auslöste. Visual Studio hatte diese Datei gesperrt.
quelle
Ich hatte ein Problem, bei dem Dateien aus einem Ordner nicht zur Github-Quellcodeverwaltung hinzugefügt wurden. Um dies zu beheben, habe ich den .git-Ordner gelöscht, der unter diesem Ordner erstellt wurde.
quelle
Ich hatte ein ähnliches Problem.
Das Problem war, dass unter Windows im Index die Datei in einem anderen Fall als im nicht bereitgestellten Bereich hinzugefügt wurde. Im Index war die Datei beispielsweise ein Name
xx.txt
und im nicht bereitgestellten Bereich war die Datei ein NameXx.txt
.Die Datei mit der falschen Groß- / Kleinschreibung wurde aus dem Index (
xx.txt
) entfernt. Dann konnte ich die Datei mit der richtigen Groß- / Kleinschreibung hinzufügen (Xx.txt
).quelle
Issue Git würde keine geänderte Datei hinzufügen. Mit git bash hatte ich den Ordner geändert, der den Ordnernamen durch das doppelte Anführungszeichen begrenzt. ls zeigte den Ordnerinhalt korrekt an, aber git fügte keine geänderten Dateien hinzu.
Lösung Ich habe das einfache Anführungszeichen verwendet, um den Ordnernamen abzugrenzen.
zB CD "Ordnername" Git-Status nichts festzuschreiben, Arbeitsbaum bereinigen CD .. ls 'Ordnername' CD 'Ordnername' Git-Status geändert: ModifiedFileName.bat
quelle
Ich habe alles versucht, aber nichts hat funktioniert. Später habe ich meine Eingabeaufforderung als Administrator ausgeführt und alle Phasen wiederholt, z. B. Staging-> Commit-> Remote-Hinzufügen -> Pushing. Es funktionierte wie eine Magie. Die Änderungen wurden im gewünschten Remote-Repository wiedergegeben.
Hoffe es hilft :) Bleib ruhig und codiere weiter.
PS Ich bin eine neue Biene und versuche aus dem Fehler zu lernen.
quelle
Ähnliches passierte für mich, als ich eine Datei zwischen umbenannte
Uppercase/Lowercase
. Das vorübergehende Umbenennen von Dateien kann das Problem beheben.quelle
Überprüfen Sie in solchen Fällen die globale .gitignore-Datei auf Regeln und stellen Sie sicher, dass Ihr Ordner nicht in diese passt.
quelle
So habe ich meine zum Arbeiten gebracht:
Ich fing an
innerhalb des Verzeichnisses mit allen Dateien / Ordnern, die ich einschließen wollte.
Ich rannte
DANN
Ich habe ein anderes Verzeichnis außerhalb des Ursprungs erstellt, bin in dieses Verzeichnis umgezogen und habe dann das vorhandene Git-Repo mithilfe der Datei http: //../../.git geklont, wie auf der Seite in Github angegeben.
Nachdem es die Quelle geklont hatte (die nur eine readme.md hatte), kopierte ich alle Dateien aus dem alten Verzeichnis in das neue mit
Dann habe ich noch einmal hinzugefügt und dann diese Änderungen festgeschrieben und verschoben.
Fragen Sie mich nicht warum, aber diesmal wurden sie auf die Github-Site hochgeladen und als Dateien angezeigt, auf die Sie im ZIP-Tarball zugreifen können.
quelle