# Versionierung mit GIT ohne online Repository



## Marku (9. Mrz 2012)

Hallo,

ich entwickle an zwei örtlich voneinander entfernten Rechnern (also unterschiedliches Netz). Bisher habe ich die Sourcen auf einem USB-Stick via eclipse > export und import hin- und herkopiert, so daß ich immer auf der aktuellsten Version gearbeitet habe. Versionsmanagement habe ich nur insoweit betrieben, als dass ich die Sourcen immer mal wieder händisch weggesichert habe.

Nun habe ich mich ein wenig in GIT eingelesen, bin aber nicht sicher, ob es gut für diesen Zweck wäre, denn ich bräuchte ja dann ein online Git - Repository, auf das auch nicht jeder zugreifen dürfte (und das umsonst sein sollte). Habe ich da was übersehen / falsch verstanden? Gibt es eine Möglichkeit, Git für meine Zwecke einzusetzen? Falls nein, was wäre eine gute Alternative?

Viele Grüße,

Marku


----------



## gman (9. Mrz 2012)

Hi,

also bitbucket.org kann mittlerweile auch git und dort kann man auch private
Repositories anlegen. Aber wenn dir das zu unsicher ist (Cloud und so) kannst
du ja vielleicht das Repository auf einen USB-Stick clonen und dann auf beiden
Rechnern jeweils mit dem Repository synchronisieren.


----------



## HoaX (10. Mrz 2012)

Du kannst ja auch ein Repository auf dem USB-Stick anlegen und von diesem auf den beiden Rechners pushen/fetchen.


----------



## kama (10. Mrz 2012)

Hi,

https://github.com ist eine Möglichkeit...der Punkt der dabei zu beachten ist, dass Repositories die kostenlos sind auch öffentlich sein müssen...Wenn Du private Repositories haben möchtest dann musst Du dafür Zahlen (ich glaube 7 $ / Monat 0.6 GB)...

Die Möglichkeit das Repo auf den Stick zu legen und dann von den Rechnern nur zu pushen/pullen ist auch eine Möglichkeit...

Ansonsten würde ich derzeit Git bevorzugen...lediglich eine Sache solltest Du machen und zwar Git via Kommandozeile nutzen und nicht via Eclipse (geht auch per Plugin; Ist in Indigo schon drin) aber besser man lernt Git von der Kommandozeile, dann weiß man wenigstens was man tut...

EDIT: Du kannst das auf dem USB Stick mal mit dem Git Repository starten:

```
git init --bare repository.git
```
 (Denke Dir bitte hier einen besseren Namen aus)

Dann auf die lokale Platte in das Projekt wechseln und dort:

```
git init
```
eine Datei .gitignore anlegen mit dem Inhalt:

```
.classpath
.settings
.project
target
```
Dann 

```
git add . 
git checkin -m "- First import."
git remote add origin master URLZuUSBStickRepository
```
Sprich auf den USB Stick:

```
(Windows)
git remote add origin master file:///H:/repository.git
git push -u origin master
```
Dann auf dem Zweiten Rechner einfach ein:

```
git clone file:///I:/repository.git
```

Danach kann dann auf beiden Systemen gearbeitet werden und mit git pull/push entsprechend mit dem USB Stick synchronisiert werden.

Gruß
Karl Heinz Marbaise


----------



## Marku (11. Mrz 2012)

super - vielen Dank Euch allen - werde es zunächst mal mit dem Repo auf dem USB-Stick probieren. Habe den Abgleich des Codes mal in Eclipse probiert - die Unterschiede werden da halt gut (graphisch) in zwei Spalten aufgezeigt.


----------



## Marku (11. Mrz 2012)

Habe ein Repo lokal (mit eingechecktem Code) und auf dem USB-Stick entsprechend obiger Anweisung eingerichtet. Allerdings dann:

```
git push -u origin master
fatal: 'master' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
```
Die Fehlermeldung kommt egal, ob ich mich im Repository des USB-Sticks oder in dem des Rechners befinde. Habe mal nach Fehlermeldung gegoogelt - meist wird bemängelt, dass da gar kein Code im master sei. Ist bei mir aber definitiv enthalten. Habe auch nach dem Befehl "git remote add origin master" gegoogelt, allerdings nur zwei Ergebnisse. Kann es sein, dass dieser Befehle anders lauten müssen?

Müsste man bei folgendem Befehl nicht erwarten, dass da ein Pfad/Url zu sehen ist?

```
git remote -v
origin	master (fetch)
origin	master (push)
```

Habe mal "master" weggelassen, also auf zunächst auf dem Mac

```
git remote add origin /Pfad/zum/USBStick/.git
```

Dann auf dem USB Stick:

```
git remote add origin /Pfade/zum/MacRechner/.git
```

Der Befehl "git remote -v" zeigt die Einträge jetzt schön an. Dennoch erhalte ich bei einem push aber diesselbe Fehlermeldung wie oben.


----------



## Marku (16. Mrz 2012)

klappt jetzt - im wesentlichen wir von kama angegeben.

SUPER! Danke.


----------

