SVN oder GIT?



  • Starglider schrieb:

    Ähm, na klar, ich will schon entscheiden, ob ich meinen Anfänger-Code so einfach jeden präsentiere oder nicht.

    Im Zweifelsfall zeig ihn ruhig her, das tut weniger weh als man glauben könnte. Spreche aus Erfahrung; habe auch Projekte mit massig hässlichem Code online.

    Bei GitHub bekommst du als Student oder Schüler übrigens gratis einen "GitHub Micro"-Account, bei dem du fünf private Repos und einen Collaborator haben darfst:
    https://education.github.com



  • Bei GitHub bekommst du als Student oder Schüler übrigens gratis einen "GitHub Micro"-Account, bei dem du fünf private Repos und einen Collaborator haben darfst:

    Ist das irgendwo vermerkt? Ich hab hier mehrere Repositories mit teils bis zu 5 Collaboratoren. Nicht dass ich da in irgendwelche Schwierigkeiten mit gerate...


  • Administrator

    nman schrieb:

    Bei GitHub bekommst du als Student oder Schüler übrigens gratis einen "GitHub Micro"-Account, bei dem du fünf private Repos und einen Collaborator haben darfst:
    https://education.github.com

    Zufällig gerade gesehen. Man sollte hier vielleicht auch noch Bitbucket erwähnen:
    https://bitbucket.org/
    https://bitbucket.org/plans

    Unterstützt Git und Hg. Soviele private Repositories wie man möchte mit bis zu fünf Benutzer, gratis.



  • Danke für die Tipps. Ich habe mich jetzt für GIT entschieden, das Repro kann ich dann auch mal auf einen USB-Stick kopieren, wenn mal wieder die Samba-Freigabe vom Raspberry PI spinnt bzw der eine Mac nicht ohne weiteres darauf zugreifen will.

    Ansonsten will ich auch nichts irgendwo auf fremde Server hoch laden. Ich bin eher dabei das Internet bei mir immer weniger zu benutzen, ich schalte es sogar oft ganz aus. Ich persönlich komme dann endlich wieder zu was. Ich bin sonst doch immer wieder von News, Foren, SocialNetwork etc abgelenkt. Mit dem Handy mache ich das mittlerweile genauso. Das ist vielleicht mal ein Tag in der Woche an.



  • Es gibt auch noch Bitbucket (https://bitbucket.org/plans) für Mercurial oder Git. Mit kostenlosen privaten Repos.
    Bin zufrieden damit.



  • ntldr schrieb:

    Ist das irgendwo vermerkt? Ich hab hier mehrere Repositories mit teils bis zu 5 Collaboratoren. Nicht dass ich da in irgendwelche Schwierigkeiten mit gerate...

    Wenn das nirgends mehr vermerkt ist, dann gilt es vmtl. nicht mehr. Meine Informationen bzgl. private collaborators sind schon etwas älter.

    Ich muss gestehen, dass ich selbst aktuell gerade keinen kostenpflichtigen GitHub-Account habe, weil ich ohnehin eine Gitolite-Instanz auf einem meiner Server laufen habe. Ist einigermaßen anfängertauglich einzurichten, wenn man ein kleines bisschen Admin-Erfahrung hat:
    https://www.digitalocean.com/community/tutorials/how-to-use-gitolite-to-control-access-to-a-git-server-on-an-ubuntu-12-04-vps



  • Starglider schrieb:

    Ich will mich mal mit der Versionsverwaltung anfreunden und würde mal gerne eure Meinung zu den beiden Kandidaten SVN und GIT lesen.

    Was bevorzugt ihr und warum?

    Ich habe Subversion laufen. Heute wird häufig Git den Vorzug gegeben und ich würde auch anraten, sich Git heute zuerst anzuschauen. Ich nutze Subversion aber schon länger als es Git öffentlich gibt und sah bisher keinen wichtigen Grund zu wechseln - im Gegenteil, aber die Probleme, die ich seinerzeit mit Git hatte können heute längst überholt sein.

    Ich nutze SVN weil mein Repository nicht öffentlich ist und ich eine Zugangskontrolle zu einzelnen Repositorys möchte. Das ist mit Subversion sehr einfach und schnell einzurichten. An der Installation eines Git-Servers bin ich vor einigen Jahren zusammen mit einem Git-Begeisterten gescheitert. Damals musste man für unterschiedliche User, den Usern einen Account auf dem Rechner geben. Da ich aber fremden keinen Account auf meinem Root-Server geben wollte, war mir das auch zu heikel. Subversion liefert einen Damon mit, das ist alles in 5 Minuten installiert und eingerichtet.
    Das dürfte inzwischen mit Git auch deutlich einfacher sein, ich möchte das beizeiten auch nochmal probieren, darum solltest Du Git auch nicht gleich aus den Augen verlieren.

    Git erlaubt es mehrere Versionen lokal einzuchecken, es gibt keine Abhängigkeit zu einem zentralen Repository, wie das bei SVN der Fall ist. Bei SVN muss jede Version an das eine zentrale Repository geliefert werden.
    Git ist hier im Vorteil, wenn man unterwegs ist und eine Version erzeugen möchte. Allerdings ist mein Händi über LTE schneller als mein gegenwärtiger DSL-Anschluss, das Argument zieht bei mir also nicht, um zu Git zu wechseln. Und ich will ja, dass meine Modifikationen auf einem anderen Server gesichert werden und damit auch ein Backup haben. Ein Backup auf dem gleichen Rechner ergibt für mich aber keinen Sinn, also will ich auch Kontakt zu einem anderen Server aufnehmen und für mich ist das in Ordnung, wenn der Workflow von Subversion vorgibt, dass das mein Repository-Server sein muss.

    In der Firma habe ich die Umstellung von SourceSafe zu Subversion vollzogen. Hier war von meiner Seite auch kurz Git in Überlegung. Die Gründe für Subversion waren, dass neben mir noch jemand bereits über Erfahrung mit SVN verfügte und dass ich mehrere aufwendige Schulungen halten musste, um den Kollegen die Idee der Arbeitskopie zu vermitteln und dass man mehrere an Dateien arbeiten dürfen, ohne dass man die Dateien "locken" muss. Das "Lock", was unter SourceSafe grundsätzlich genutzt wird, war für die Kollegen unglaublich wichtig, um überhaupt den Umstieg zu wagen (hat nie einer benutzt, war aber für die Entscheidungsträger entscheidend).
    Hätte ich da noch lokale Versionsverwaltung erklären müssen, hätte das überfordert.

    Subversion löst meine Probleme derzeit am Effizientesten. Ich bin bei Git aber eben auch nicht auf dem neusten Stand, Git entwickelt sich scheinbar schneller als Subversion - was ein Vorteil sein kann, aber auch ein Nachteil.
    Subversion ist in den 9 Jahren, wo ich es nutze, bisher in jedem Fall zuverlässig gewesen. Das ist mir wichtiger als schnell neue Features zu bekommen - ich nutze ja nichtmals alles was Svn kann.



  • @Xin: Nur so aus Interesse: Was ist denn der große Unterschied zwischen SVN und TFS? (PS: Ich verwendet git 😉 )



  • Nur so zur Info:
    Git Server und Rechteverwaltung ist easy peasy.
    git ist technisch weiter als svn - und git hat keine Probleme mit instabilität oder kompatibilitäts Brüchen zu älteren Versionen. Und es gibt auch keinen Update wahnsinn. Und um ehrlich zu sein, erinnere ich mich an keine Zeit wo das jemals so war - auch Server mit Rechteverwaltung war eigentlich nie ein Problem.



  • Jochen Kalmbach schrieb:

    @Xin: Nur so aus Interesse: Was ist denn der große Unterschied zwischen SVN und TFS? (PS: Ich verwendet git 😉 )

    Da gibt es mehrere: Wir müssten dafür Geld bezahlen (weil ab 5+ Usern, kostet es) und es kennt sich bei uns keiner damit aus, wir müssten uns also alle einarbeiten und wenn irgendwo hakt, wüsste auch keiner Bescheid.

    Wenn ich mir den Aufwand angucke (MS-SQL, Windows Server 2003+), dann muss da auch noch eine entsprechende Maschine her.
    Wir haben Subversion auf einem QNAP mit Atom-CPU laufen.

    Grundsätzlich kann ich dazu aber wenig sagen, nachdem uns das vorherige Microsoft-Produkt (SourceSafe) mit einem Repository von >4GB teilweise schon um die Ohren geflogen ist und MS selbst sagt, dass SourceSafe mit >5 sich komplett auflöst, hielt sich die Begeisterung hier auch etwas zurück, wieder ein MS Produkt zu verwenden.

    @Shade: Seit wann verwendest Du git, bzw. anders gefragt: Seit wann setzt Du git-Server auf?
    Das muss wohl inzwischen auch recht einfach sein, steht auf meiner Planung mir das auch nochmal anzusehen. Vor 5 Jahren war's aber eher ein Hack, den man dazuinstallieren musste, die Doku dafür war... überschaubar und da ich die (rechtliche) Verantwortung für den Server habe, habe ich git erstmal wieder eingestampft und für die Firma gilt eher 'Never touch a running system'.

    Da git aber tatsächlich als das moderene SVN gilt, müsste ich mich da mal wieder einlesen. Es bestand bisher einfach kein Bedarf, denn SVN läuft. Das einzige Argument ist, dass heute jeder Git nimmt und die Leute deswegen eher Git nachfragen als Svn. Ob derjenige die zusätzlichen Features wirklich braucht, ist wieder eine andere Frage...



  • Git-Server für viele User aufzusetzen, ohne Systemuser anlegen zu müssen, ist _wirklich_ leicht. Im wesentlichen installierst du einfach gitolite, legst einen User dafür an und das übernimmt dann die Rechteverwaltung. User legst du im wesentlichen einfach dadurch an, dass du ihren SSH-Public-Key in das gitolite-admin Repo pusht. Habe oben ein entsprechendes Tutorial verlinkt.



  • Wir verwenden mittlerweile Gitlab. Das macht die Verwaltung der git Repos halt echt super simpel. Ist quasi ein Github-Lite. Die User liegen in unserem lokalen OpenDirectory also per LDAP angebunden.

    Früher haben wir mal ein Trac mit Git gehabt, das war schlecht (lag aber wohl mehr an Trac) aber hat auch funktioniert ohne lokale User. Danach sind wir auf gitolite gewechselt, das hat super funktioniert aber halt nur über die Commandline weshalb wir dann auf Gitlab sind.

    Rechteverwaltung hatten wir aber immer, da wir bei internen Projekten auch mal Passwörter oder Lizenzen in den Repos halten. Und lokale User für git haben wir nie angelegt.

    Wie lange ist das denn her?


Anmelden zum Antworten