2012-07-24 12 views
60

Wie kann ein Team von vier Personen Git (speziell Github for Windows) verwenden, um lokale Änderungen an ein freigegebenes Netzlaufwerk zu übertragen?Push git ändert sich auf ein freigegebenes Netzlaufwerk

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

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

Antwort

20

Unser Team macht genau dies. Jeder Entwickler hat die folgenden:

  1. Git auf ihrem lokalen Rechner installiert
  2. Zugriff auf ihr eigenes persönliches freigegebenes Laufwerk (L:)
  3. Zugang zu einem gemeinsamen Gruppenantrieb (V:)

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

+0

Okay, großartig! Muss ich zuerst ein lokales Repo erstellen und dann ein Remotedes Repo auf dem freigegebenen Laufwerk einrichten? – user1549303

+1

@ user1549303 - So machen wir es. Sie können den lokalen Repo (unser 'L:' drive repo) mit 'git init' erstellen und dann die Fernbedienung (unser' v: 'drive one) mit' git clone --bare' (oder einem 'git init- -are, und dann ein Push von der 'L:'). – eykanal

+0

@eykanal - Mein Team benutzt zur Zeit eine uralte, schreckliche Quellcode-Bibliothek und wir wollen auf Git umsteigen. Eine Sache, die unsere aktuelle Bibliothek mir ermöglicht, ist, zu sehen, wer eine Datei ausgecheckt hat, aber vergessen hat, die Änderungen einzuchecken. Bei git sind alle Repositories lokal. Wie können Sie also wissen, ob jemand vergessen hat, zu "v:" zu wechseln? –

1

Sie können einen anderen entfernten zeigend auf Ihre Netzlaufwerk (git remote)

hinzufügen Dann schieben Sie ähnliche ziehen, was Sie tun mit Github

78

Nicht sicher, ob Sie etwas gefunden, das für Sie arbeitet oder nicht, aber ich hat eine Zuschreibung auf, wie man das genau das, was auf einem Windows-Netzlaufwerk tun:

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

Von einer cmd Aufforderung Änderung Ihres zugeordneten Laufwerk.

$ cd g:

Dann CD in Ihre bald git Repository sein.

$ cd scripts

Erstellen Sie dann ein leeres Git-Repository. Wenn Sie die Option --bare nicht verwenden, haben Sie Probleme, lassen Sie das also nicht außen vor.

$ git init --bare

Nun, wenn Sie ein lokales Git Repository noch nicht haben, dann können Sie Ihr neues Repository klonen wo immer Sie wollen, indem Sie zurück zu Ihrem lokalen Laufwerk zu navigieren.

$ c:

$ cd work/scripts

$ git clone file://g:\scripts

Wenn Sie klonen, erhalten Sie automatisch eine Remote namens „Herkunft“ und Sie können zur sicheren Aufbewahrung jederzeit Sie Änderungen lokal auf dem Server Push machen.

$ git push origin master

Wenn Sie bereits ein Git-Repository haben und Sie wollen einfach nur auf den gemeinsam genutzten Laufwerk schieben, dann können Sie dies tun, aus Ihrem lokalen git Richt.

$ git remote add origin file://g:\scripts

$ git push origin master

+0

Danke - Ich habe genau das für ein persönliches Projekt in meinem Heimnetzwerk gemacht. –

+0

Ich befolgte diese Schritte, aber bekomme die folgenden Fehler, wenn ich git push Ursprung Master ausführen Fehler: kann nicht spawn sh: Keine solche Datei oder Verzeichnis fatal: kann nicht fork – NickStees

+0

Vielen Dank. Es dauerte lange, bis diese Antwort gefunden wurde –