Von Projekten und Source Control
-
Hrmmm! Also ich habe ein Tutorial gefunden, dass Gitosis per ssh mit Cygwin umsetzt. Das arbeite ich jetzt mal ab.
Die Submodules-Beschreibung schreckt mich gerade erstmal ab! Wenn ich da kryptische Konsolenbefehle vergesse, dann verliere ich meine Veränderungen? Das klingt erstmal so, als würde mir das auf alle Fälle passieren.
-
Okay, das Projekt ist schon früh gescheitert, weil ich in der cygwin shell per git nicht das gitosis-repository clonen kann
-
Git habe ich bis heute nicht verstanden und aufgegeben. Mit Mercurial ("Git für Doofe") kann ich mehr anfangen. Mercurial ist under Windows auch einfacher zum Laufen zu bekommen. Einfach TortoiseHG installieren und funzt. Ich verwende das für alle Projekte. Auf der Arbeit haben wir uns auch auf Mercurial und SVN eingeschossen.
-
Unterstützt das auch solche "Submodules"?
Gitosis habe ich jetzt soweit, dass ich nur noch Probleme mit den Nutzerrechten habe. Auf wen müssen denn die Rsa-Schlüssel "ausgeschrieben" sein? Auf denjenigen, der sich einloggen will oder auf den Benutzer, auf den er sich einloggen will? Also ich habe jetzt einen Benutzer "git" (nicht-admin) konfiguriert, aber die rsa-public keys sind jetzt für den admin-user ausgeschrieben, das ist doch bestimmt falsch.
-
Was benutzt du denn bei Mercurial als Server? Hab hier beispielsweise Rhodecode gefunden, aber vielleicht übersehe ich ja etwas.
-
Warum willst du überhaupt Gitosis installieren? Wenn du eh nur selbst auf deine Projekte zugreifst, dann brauchst du das doch gar nicht. Gitosis wird glaube ich auch gar nicht mehr weiter entwickelt. Schaut dir vielleicht mal Gitolite an, was eine alternative zu Gitosis ist.
-
Nunja, man wahrscheinlich auch ohne solch einen Server bei den eigenen Systemen remote clonen oder pushen können (Sind ja Distributed, also ohne benötigten echten Server -> man braucht nur Dateizugriff), aber ich find es eben attraktiv, einfach über den browser ins Repo schauen zu können und auch von außen ohne Probleme drauf zugreifen zu können.
-
Decimad schrieb:
Unterstützt das auch solche "Submodules"?
Jain. Da gibt es was in der Richtung, aber die Doku rät von der Benutzung ab, wenn ich das richtig in Erinnerung habe.
Decimad schrieb:
Was benutzt du denn bei Mercurial als Server?
Nix. Mercurial funktioniert wunderbar auf Dateiebene -- auch über das Netzwerk. Für "spontanes Clonen/Pullen" im LAN kannst du auch "hgweb" im built-in HTTP-Server laufen lassen. Per Default bietet das nur Lesezugriff. Authentifizierung bietet dieser Server nicht. Deswegen ist das auch nur was für temporäre Lösungen in privaten, "trusted networks". Aber dafür ist es toll. Habe letztens erst einen Linuxer ein Projekt von meinem Windows-Laptop darüber clonen lassen. Wenn man zu zweit im LAN an etwas arbeitet, kann man sich so auch fix austauschen. Der eine ruft kurz "hg serve" auf und der andere "hg pull". Andere "HG Server" habe ich nie selbst laufen lassen. Da gab es bisher keine Notwendigkeit für. Aber dieses hgweb-Skript kannst du meines Wissens nach auch in'nem eigenen Apache per CGI laufen lassen.
Siehe http://mercurial.selenic.com/wiki/PublishingRepositories
-
Ich hatte (für kurze Zeit) "portable git" installiert, d.h. das git "master"-Repo auf einem USB-Stick und dann von Rechner zu Rechner geschleppt. Solang man nicht sein persönliches Projekt auf zig Rechnern gleichzeitig entwickelt macht sich das recht gut. Inzwischen habe ich quasi die gleiche Konstellation mit Veracity, einem DVCS das noch in der Entwicklung steckt, aber für meine Zwecke völlig ausreichend ist, zumal ein Bugtracker gleich mit dabei ist.
-
Ich verwende ebenfalls Git. Ist zwar am Anfang nicht ganz einfach zu verstehen, aber hat schon einiges netter gelöst als SVN. Submodules hatte ich kurz angeschaut, würde ich aber nicht empfehlen. Sie sind umständlich zu löschen und zu verändern, auch werden sie standardmässig nicht mitgeklont. Ich verwende daher das Tool git-subtree und habe damit bisher gute Erfahrungen gemacht.
Du musst nicht GitHub verwenden, um deine Daten zu sichern. Im Gegensatz zu SVN ist Git ein verteiltes Versionskontrollsystem, jedes Repository ist eine vollwertige Kopie. Du kannst also ein Repository auch auf einem Netzlaufwerk oder Stick haben, und dort von Zeit zu Zeit pullen.