Ü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?
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:
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.
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:
Git auf ihrem lokalen Computer installiert
Zugriff auf ihr eigenes freigegebenes Laufwerk ( L:)
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
2
Sie können Ihrem Netzwerklaufwerk eine weitere Fernbedienung hinzufügen (Git-Fernbedienung).
Dann können Sie ähnlich wie bei Github drücken und ziehen
Unser Team macht derzeit genau das. Jeder Entwickler hat Folgendes:
L:
)V:
)Wir haben das "Remote" -Repository (eingerichtet mit
init -bare
) auf demV:
Laufwerk, und jeder hat einen Klon auf seinem persönlichenL:
Laufwerk. Alle Änderungen werden amL:
Laufwerk vorgenommen und auf dasV:
Laufwerk übertragen, die später von den anderen Entwicklern in ihre jeweiligen persönlichen Repositorys auf ihrenL:
Laufwerken verschoben werden. Dies funktioniert ohne Probleme und verringert die Notwendigkeit eines Git-Servers.quelle
L:
Laufwerk Repo) mitgit init
, und dann die Fernbedienung erstellen (unserv:
Laufwerk ein) mitgit clone --bare
(oder eingit init --bare
, und dann einem Stoß von denL:
).Sie können Ihrem Netzwerklaufwerk eine weitere Fernbedienung hinzufügen (Git-Fernbedienung).
Dann können Sie ähnlich wie bei Github drücken und ziehen
quelle