Übertragen Sie Git-Änderungen auf ein freigegebenes Netzwerklaufwerk


90

Wie kann ein Team von vier Personen Git (speziell Github für Windows ) verwenden, um lokale Änderungen auf ein freigegebenes Netzwerklaufwerk zu übertragen?

Im Moment (ohne Git) müssen wir die Dateien vom Netzwerklaufwerk auf unseren lokalen Computer kopieren, die Dateien bearbeiten und sie dann erneut auf das freigegebene Netzwerklaufwerk hochladen. Dies ist ein mühsamer Prozess, der zu vielen Fehlern führen kann, aber es scheint, als könnte Git uns dabei helfen.

Können wir Git einfach auf dem freigegebenen Laufwerk installieren und von dort aus fortfahren?

Antworten:


123

Ich bin mir nicht sicher, ob Sie etwas gefunden haben, das für Sie funktioniert oder nicht, aber ich habe eine Beschreibung, wie genau dies auf einem Windows-Netzwerklaufwerk zu tun ist:

http://tony.halcyonlane.com/blog/2011/09/22/Using-git-at-work-on-a-Windows-network-drive/

Wechseln Sie von einer cmd-Eingabeaufforderung zu Ihrem zugeordneten Laufwerk.

$ cd g:

Dann CD in Ihr bald zu Git Repository.

$ cd-Skripte

Erstellen Sie dann ein leeres Git-Repository. Wenn Sie die Option --bare nicht verwenden, treten Probleme auf. Lassen Sie dies also nicht aus.

$ git init --bare

Wenn Sie noch kein lokales Git-Repository haben, können Sie Ihr neues Repository klonen, wo immer Sie möchten, indem Sie zurück zu Ihrem lokalen Laufwerk navigieren.

$ c:

$ cd work / scripts

$ git Klondatei: // g: \ scripts

Wenn Sie klonen, erhalten Sie automatisch eine Fernbedienung mit dem Namen "origin" und können auf den Server übertragen, um die Sicherheit zu gewährleisten, wenn Sie lokal Änderungen vornehmen.

$ git push origin master

Wenn Sie bereits über ein Git-Repository verfügen und nur auf das freigegebene Laufwerk übertragen möchten, können Sie dies in Ihrem lokalen Git-Verzeichnis tun.

$ git remote Ursprungsdatei hinzufügen: // g: \ scripts

$ git push origin master


1
Vielen Dank - genau das habe ich für ein persönliches Projekt in meinem Heimnetzwerk getan.
Martin Snyder

Ich habe diese Schritte befolgt, aber beim Ausführen des git push origin master-Fehlers werden folgende Fehler
angezeigt

Danke dir. Es hat lange
gedauert

Für alle, denen das freigegebene Laufwerk nicht zugeordnet ist, gibt es pushd (und popd), um ein virtuelles temporäres Laufwerk zu erstellen, zu dem navigiert werden kann ( siehe Link )
LoJo

Welche Probleme haben Sie, wenn Sie --bare nicht verwenden? Ich habe bereits ein nicht nacktes Repository auf einem Netzlaufwerk und möchte es als Remote verwenden.
Fractaly

24

Unser Team macht derzeit genau das. Jeder Entwickler hat Folgendes:

  1. Git auf ihrem lokalen Computer installiert
  2. Zugriff auf ihr eigenes freigegebenes Laufwerk ( L:)
  3. Zugriff auf ein freigegebenes Gruppenlaufwerk ( V:)

Wir haben das "Remote" -Repository (eingerichtet mit init -bare) auf dem V:Laufwerk, und jeder hat einen Klon auf seinem persönlichen L:Laufwerk. Alle Änderungen werden am L:Laufwerk vorgenommen und auf das V:Laufwerk übertragen, die später von den anderen Entwicklern in ihre jeweiligen persönlichen Repositorys auf ihren L:Laufwerken verschoben werden. Dies funktioniert ohne Probleme und verringert die Notwendigkeit eines Git-Servers.


OK großartig! Muss ich zuerst ein lokales Repo erstellen und dann eine Fernbedienung dieses Repos auf dem freigegebenen Laufwerk einrichten?
user1549303

1
@ user1549303 - So machen wir das. Sie können die lokale Repo (unser erstellen L:Laufwerk Repo) mit git init, und dann die Fernbedienung erstellen (unser v:Laufwerk ein) mit git clone --bare(oder ein git init --bare, und dann einem Stoß von den L:).
Eykanal

@eykanal - Mein Team verwendet derzeit eine alte, schreckliche Quellcodeverwaltungsbibliothek und wir möchten auf git umsteigen. In unserer aktuellen Bibliothek kann ich sehen, wer eine Datei ausgecheckt hat, aber vergessen hat, die Änderungen einzuchecken. Mit git sind alle Repositorys lokal. Wie können Sie also feststellen, ob jemand vergessen hat, auf "v:" zu pushen?
Kevin Buchan

3
@ KevinBuchan - Ich schlage vor, Sie posten Ihren Kommentar als neue Frage.
Eykanal

1
Wie reagiert Git, wenn zwei Entwickler gleichzeitig versuchen, auf dasselbe gemeinsam genutzte Repository (z. B. V :) zu pushen? Haben Sie Probleme mit gleichzeitigen Push-Vorgängen gehabt?
Jordi

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.