Frage

Ich bin ein Fan von Verwendung Github als mein Projektdatei -Repository. Aber es interessiert mich mehr, wenn ich in der Lage bin, ein Repository auf diesem Computer auf einem anderen Verzeichnispfad zu erstellen. Klonen Sie dann, das Repository in meinem neuen Arbeitsverzeichnis erstellt.

Ich hatte vor, a zu machen Github örtlich. Ich habe darüber gesucht und viele kehren zurück, die ich verwenden sollte Gitolit und noch viel mehr stattdessen. Das Problem, das ich Windows verwende, und ich möchte alle Schritte mit der Befehlszeile ausführen.

Welche Befehlszeilen sollten ich eingeben, um ein Repository in einem anderen Verzeichnis als dem Arbeitsverzeichnis zu erstellen und dieses Repository an andere Terminals innerhalb des lokalen Netzwerks zu klonen.


Verknüpfung des Terminals mit Windows Host

Ich habe ein Repository -Verzeichnis erstellt Users\username\GIT\project.git. Ich versuche mein Terminal mit der Befehlszeile zu verknüpfen git clone file://{IPv4 server address}/Users/username/GIT/project.git kehrt zurück

fatal: '/{IPv4 server address}/Users/username/GIT/project.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Wie kann ich das lösen? Ich mein Host läuft unter Windows 7 und meine Verbindungsklemmen werden Ubuntu 12.04 LTS und MacOS Mavericks verwenden.


Update -Track

  1. Aktualisierte meinen Fragekörper. Ich weiß nicht, welche Schritte ich ausführen soll.
  2. Eingefügt Verknüpfung des Terminals mit Windows Host Frage zum Aufbringen von Repository über das lokale Netzwerk.
War es hilfreich?

Lösung

Vielleicht fragen Sie eine einfache Möglichkeit, Git Repo und lokaler Klon zu erstellen?

  1. Erstellen Sie Git Repo mithilfe git init --bare
  2. Klon von einem anderen Ort verwenden git clone --local /path/your/local/repo/

Für lokales Netzwerk kann Windows Share oder eine andere Dateifreigabe funktionieren.

Aber der einfache Weg funktioniert einfach, nicht am besten oder geeignet. Es gibt keine Pull -Anfrage, Ausgabespur und Berechtigungssteuerungsfunktion auf GitHub. Für die Verwaltung von Git Commit oder andere komplizierte Arbeiten benötigen Sie ein Verwaltungssystem wie Gitolit, Gerrit, einige arbeiten möglicherweise nicht auf Windows -System.

Wenn Sie nur ein kostenloses privates Repo benötigen, verwenden Sie einen Bitbucket.

Klon von Windows Share:

git clone file:////{IPv4 server address}/share_name/path_to_your_.git_dir

Auf dem Host -Computer müssen Sie Repo Dir mit einem "Share_name" teilen, z.

Sehen:

Andere Tipps

Wenn ich Ihre Problemanweisung richtig lese, können Sie einfach ein lokales Git -Repo in einen anderen Ordner klonen, indem Sie die verwenden --local Schalten Sie den Befehl clone so ein

git clone --local /git/source_repo/project /home/username/workdir/project

wo

/git/source_repo/project ist die sichere Kopie des Repo (nennen Sie es Ihre persönliche GitHub wenn du möchtest).

und

/home/username/workdir/project Ist Ihr Arbeitsordner. Es kann jeder Ordner sein, in dem Sie häufig Commits machen möchten

Schalter erklärten:

--lokal

Wenn das Repository zu klonen auf einer lokalen Maschine, umgeht dieses Flag den normalen "Git Aware" -Vertransportmechanismus und kloniert das Repository, indem sie eine Kopie von Kopf und allem unter Objekten und Refs -Verzeichnissen erstellt. Die Dateien unter .git/ objects/ verzeichnis sind so schwer zu sparen, wenn möglich Platz zu sparen.

Wenn das Repository als lokaler Pfad (z. B./path/to/repo) angegeben ist, ist dies die Standardeinstellung, und-Local ist im Wesentlichen ein No-op. Wenn das Repository als URL angegeben ist, wird dieses Flag ignoriert (und wir verwenden nie die lokalen Optimierungen). Angabe-No-Local überschreibt die Standardeinstellung, wenn/path/to/repo stattdessen mit dem regulären Git-Transport angegeben wird.

Um das Kopieren anstelle von Hardlinking zu erzwingen (was wünschenswert sein kann, wenn Sie versuchen, Ihr Repository zu unterstützen), aber vermeiden Sie trotzdem den üblichen "Git Awes" -Vertransportmechanismus-können keine Hardlinks verwendet werden.

-No-Hardlinks

Optimieren Sie den Klonierungsprozess aus einem Repository in einem lokalen Dateisystem, indem Sie Dateien im Verzeichnis von .git/Objects kopieren.

sehen Dokumentation für mehr Details

Update 1:

Um einen Git -Server unter Windows einzurichten, können Sie dies versuchen commercial (Open Source) -Software genannt Gitstack.

Nützliche GitStack -Ressourcen:

  1. Gitstack Installationsanleitung
  2. Link zum Quellcode von Gitstack auf Github

Um ein lokales bloßes Repository zu erstellen, ist der Befehl tatsächlich ziemlich einfach:

git clone --bare my_project my_project.git
Initialized empty Git repository in /my/projects/my_project.git/

Solange Sie diese lokal verwenden (z. B. von einem USB -angehängten Speichergerät oder so), ist das wirklich alles, was es gibt. Sie würden Ihre Befehle nur auf dieses Repo zeigen, zum Klonen, Schieben, Ziehen usw., aber man könnte fragen, warum Sie so etwas tun möchten.

Diese Anweisungen dienen zum Einrichten eines Servers. Ich fand diese Anweisungen jedoch auch für die Erstellung lokaler Repos: http://git-scm.com/book/en/git-on-the-server-getting-git-on-a-server

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top