Dies ist mein Git-Repository:
https://github.com/benqzq/ulcwe
Es hat ein Verzeichnis mit dem Namen local
und ich möchte seinen Namen in einen anderen Namen ändern (z. B. von local
bis xyz
).
Das manuelle Ändern über die GitHub-Benutzeroberfläche ist ein Albtraum, da ich den Verzeichnisnamen für jede Datei separat ändern muss (GitHub muss noch eine Funktion zum Umbenennen von Verzeichnissen enthalten, ob Sie es glauben oder nicht).
Nach der Installation von Git habe ich diesen Befehl ausprobiert:
git remote https://github.com/benqzq/ulcwe && git mv local xyz && exit
Obwohl ich keine Eingabeaufforderung für mein GitHub-Passwort erhalten habe, wurde folgende Fehlermeldung angezeigt:
fatal: Not a git repository (or any parent up to mount point /mnt/c)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Ich weiß, dass der springende Punkt in Git darin besteht, ein Projekt herunterzuladen, zu ändern, zu testen und dann an den Hosting-Anbieter (in diesem Fall GitHub) zu senden, aber um nur ein Verzeichnis zu ändern, wünsche ich eine direkte Operation. Ist das überhaupt mit Git möglich?
Soll ich vielleicht ein anderes Programm verwenden?
Antworten:
Die schwerwiegende Fehlermeldung zeigt an, dass Sie von einem Ort aus arbeiten, der kein Klon Ihres Git-Repositorys ist. Beginnen wir also damit, zuerst das Git-Repository zu klonen:
Dann geben Sie es ein:
und benennen Sie das Verzeichnis um:
Damit die Änderung gemeinsam genutzt werden kann, müssen Sie sie festschreiben:
Jetzt können Sie es in Ihr Remote-Git-Repository übertragen:
und Sie werden die Änderung in der GitHub-Oberfläche sehen.
quelle
Nein, es gibt keine Möglichkeit, dies als direkte Operation zu tun, da Git strukturiert ist.
Git funktioniert so, dass es eine Kopie des gesamten Repositorys einschließlich des gesamten Verlaufs an jedem einzelnen Speicherort speichert.
Github, Bitbucket oder ein anderer Hosting-Anbieter ist im Wesentlichen nur eine weitere Kopie Ihres Git-Repositorys mit einer hübschen Weboberfläche, die in den meisten Workflows als zentrale Quelle der Wahrheit behandelt wird. Das Git-Dienstprogramm weiß dies jedoch nicht.
Änderungen werden als Commits verfolgt. Ich vermute, damit
direct operation
meinen Sie eine Möglichkeit, den Ordnernamen zu ändern, ohne ein Commit zu erstellen. Dies ist zwar durch Umschreiben des Verlaufs möglich, würde es jedoch nicht empfehlen, insbesondere wenn mehrere Personen / Maschinen mit Kopien des Git-Repos vorhanden sind, da dies zu Inkonsistenzen führen kann.Der einfachste Weg, einen Ordner in einem Git-Repo umzubenennen, besteht darin, ihn lokal zu klonen
Wenn Sie bereits eine lokale Kopie des Repos haben, ziehen Sie diese, um sicherzustellen, dass Sie mit dem Remote-Repo auf dem neuesten Stand sind
Nehmen Sie die erforderlichen Änderungen vor Ort vor
Welches sollte automatisch von Github zum Staging-Bereich hinzugefügt werden. Dann sollten Sie diese Änderungen festschreiben und vorantreiben.
Dadurch wird die Änderung in Ihr lokales Repository übernommen und diese Änderungen werden dann auf die Remote-Kopie des Repositorys übertragen, in diesem Fall auf Github.
quelle
git clone --depth
Es ist möglich, ein Verzeichnis mithilfe der GitHub-API umzubenennen, ohne das Repository zu klonen. Mir ist keine Implementierung bekannt.
Quelle: /programming//a/31567094/370786
quelle