Wenn ich mit Git / Github für Windows ein Repository mit diesem Verzeichnis habe: C:\dir1\dir2
Was muss ich tun, um die Repo-Dateien zu verschieben C:\dir1
? Ich kann die Dateien natürlich physisch kopieren und einfügen, aber was muss ich auf der Git-Seite tun?
Ich habe dieses Repo auf GitHub und verwende Git Bash und GitHub für Windows.
git
github
github-for-windows
Mikael Engver
quelle
quelle
Antworten:
Kopieren Sie einfach den gesamten Inhalt des Arbeitsverzeichnisses (einschließlich des versteckten
.git
Verzeichnisses). Dadurch wird das gesamte Arbeitsverzeichnis in das neue Verzeichnis verschoben und das Remote-Repository auf GitHub wird nicht beeinflusst.Wenn Sie GitHub für Windows verwenden, können Sie das Repository mit der oben beschriebenen Methode verschieben. Wenn Sie jedoch in der Anwendung auf das Repository klicken, kann es nicht gefunden werden. Um dies zu beheben, klicken Sie einfach auf den blauen Kreis mit dem !, Wählen Sie Find It und navigieren Sie zum neuen Verzeichnis.
quelle
Ich bin mir der Frage nicht sicher, daher hier zwei Antworten:
Wenn Sie Ihr Repository verschieben möchten:
Kopieren Sie einfach das gesamte Repository (mit seinem
.git
Verzeichnis).Es gibt keinen absoluten Pfad in der
.git
Struktur und nichts verhindert, dass sie verschoben wird, sodass Sie nach dem Verschieben nichts mehr zu tun haben. Alle Links zu Github (siehe in.git/config
) funktionieren wie zuvor.Wenn Sie Dateien in das Repository verschieben möchten:
Verschieben Sie einfach die Dateien. Fügen Sie dann die in aufgelisteten Änderungen hinzu
git status
. Der nächstecommit
wird das Notwendige tun. Sie werden froh sein zu erfahren, dass keine Datei dupliziert wird: Das Verschieben einer Datei in Git ist fast kostenlos.quelle
.git
Verzeichnis.Wenn Sie verwenden
GitHub Desktop
, führen Sie einfach die folgenden Schritte aus:GitHub Desktop
alle anderen Anwendungen mit geöffneten Dateien in Ihrem aktuellen Verzeichnispfad.GitHub Desktop
und klicken Sie auf das blaue (!) Symbol "Repository nicht gefunden". Dann öffnet sich ein Dialogfeld und Sie sehen eine Schaltfläche "Suchen ...", die ein Popup öffnet, mit dem Sie den Pfad zu einem neuen Speicherort leiten können.quelle
Während die Frage Git für Windows betrifft, scheint dies das beste Ergebnis zu sein, selbst wenn nach Visual Studio Tools für Git gesucht wird (Erweiterung in VS 2012, native Unterstützung in VS 2013).
Anhand der oben genannten Lösungen als Leitfaden habe ich festgestellt, dass Visual Studio Git Tools das lokale Verschieben von Repos (oder sogar der gesamten Verzeichnisstruktur für alle Repos) sehr einfach macht.
1) Schließen Sie Visual Studio. 2) Verschieben Sie die Repo-Ordner an einen neuen Speicherort. 3) Öffnen Sie Visual Studio. Öffnen Sie den Team Explorer. Wechseln Sie in die Ansicht "Verbinden" (Steckersymbol oben). 3a) Wenn Repos immer noch den alten Pfad anzeigen, klicken Sie auf Aktualisieren, um eine Aktualisierung zu erzwingen. 4) Lokal verschobene Repos sollten nicht mehr in " Local Git Repositories " angezeigt werden . 5) Klicken Sie auf Hinzufügen (nicht neu oder klonen) und wählen Sie den hinzuzufügenden Repo-Ordner aus.
In Schritt 5 geben Sie wirklich nur einen Suchpfad an und die Suche umfasst automatisch alle Unterordner. Wenn Sie mehrere Repos unter einem einzigen Stamm organisiert haben (unabhängige Repos haben nur denselben übergeordneten Ordner), werden durch Auswahl des übergeordneten Repos alle darunter befindlichen Repos eingeschlossen.
Beispiel: E: \ Repos \ RepoA E: \ Repos \ RepoB E: \ Repos \ RepoC
Im Visual Studio Team Explorer gibt [Hinzufügen]> "E: \ Repos \"> [Hinzufügen] alle drei an die lokalen Repositorys zurück.
quelle
Obwohl die vorherigen Antworten alle zu sagen scheinen, dass Sie das Verzeichnis einfach verschieben können und es keine absoluten Pfade in der .git-Struktur gibt. Ich fand das falsch, wenn ich Git von Cygwin verwendete.
Als ich mein Git-Repo verschoben habe (tatsächlich habe ich es von einem Backup wiederhergestellt, aber auf ein anderes Laufwerk, da sich meine Laufwerksstruktur auf meinem neuen System geändert hat). Ich habe eine Fehlermeldung wie
Ich habe grep verwendet, um herauszufinden, dass in meiner .git / config-Datei im Abschnitt [core] eine Arbeitsbaumvariable enthalten ist, die den absoluten Pfad meines Git-Repos enthält. Das zu ändern hat das Problem für mich behoben.
quelle
Ich verwende das Visual Studio Git-Plugin und habe einige Websites unter IIS, die ich verschieben wollte. Ein einfacher Weg, der für mich funktioniert hat:
Schließen Sie Visual Studio.
Verschieben Sie den Code (einschließlich Git-Ordner usw.)
Klicken Sie am neuen Speicherort auf die Lösungsdatei
Dadurch wird die Zuordnung zum neuen Speicherort unter Verwendung der vorhandenen lokalen Git-Dateien aktualisiert, die verschoben wurden. Als ich wieder in Visual Studio war, wurden in meinem Team Explorer-Fenster die Repos am neuen Speicherort angezeigt.
quelle
Ich verwende Github Desktop für Windows und wollte den Speicherort eines Repositorys verschieben. Kein Problem, wenn Sie Ihr Verzeichnis verschieben und den neuen Speicherort in der Software auswählen. Wenn Sie jedoch ein schlechtes Verzeichnis festlegen, erhalten Sie einen schwerwiegenden Fehler und keine zweite Chance, in das gute Verzeichnis zu wechseln. Also um das zu reparieren. Sie müssen die Projektdateien in das fehlerhafte Verzeichnis kopieren und von Github Desktop neu erstellen. Danach können Sie Ihr Projekt erneut in einen anderen Ordner verschieben und einen Umzug in die Software vornehmen. Dafür muss Github Desktop nicht geschlossen werden. Es werden Ordner in Live überprüft.
Ich hoffe, das hilft jemandem.
quelle
Bericht aus der Zukunft: April 2018.
Ich wollte meine lokalen Repos auf meinem Mac und meinem Windows normalisieren, die in verschiedenen lokalen Ordnern gelandet waren.
Der Windows 10-Client hat mich dazu gebracht, die Routine "Kann nicht finden"> "Suchen" zu durchlaufen, mühsam, aber nicht schrecklich. Außerdem muss der lokale "Klonpfad" in den Optionen für die zukünftige Verwendung aktualisiert werden.
Als ich die Mac-Ordner konsolidierte, fand der Github-Client sie gerade wieder - ich musste nichts tun!
quelle
Das hat bei mir nicht funktioniert. Ich habe ein Repo von (z. B.) c: \ project1 \ nach c: \ repo \ project1 \ verschoben, und Git für Windows zeigt keine Änderungen an.
Der Git-Status zeigt einen Fehler an, da eines der Submodule "kein Git-Repository" ist und den alten Pfad anzeigt. zB (Namen geändert, um IP zu schützen)
fatal: Kein Git-Repository: C: /project1/.git/modules/subproject/subproject2 fatal: 'git status --porcelain' ist im Submodul-Subprojekt fehlgeschlagen
Ich musste die Git-Dateien in den Submodulen manuell bearbeiten, um auf den korrekten relativen Pfad zum Repo des Submoduls zu verweisen (im Verzeichnis .git / modules des Haupt-Repos).
quelle
Um den lokalen Standardpfad für Ihre Repositorys für jedes Klonen eines dieser Repositorys festzulegen, müssen Sie ein Repository nur einmal klonen und Localpath: / your-path festlegen. Github erkennt diesen Pfad dann automatisch als Standardpfad.
quelle
Ein mehr Git-basierter Ansatz wäre, die Änderungen an Ihrer lokalen Kopie mithilfe von
cd
oder durch Kopieren und Einfügen vorzunehmen und diese Änderungen dann vom lokalen zum Remote-Repository zu übertragen.Wenn Sie versuchen, den Status Ihres lokalen Repos zu überprüfen, werden möglicherweise "nicht verfolgte Änderungen" angezeigt, bei denen es sich tatsächlich um die verschobenen Dateien handelt. Um diese Änderungen mit Nachdruck voranzutreiben, müssen Sie diese Dateien / Verzeichnisse mithilfe von bereitstellen
Ich hoffe es hilft.
quelle