Software zur Versionsverwaltung
Software zur Versionsverwaltung
Hallihallo!
Bisher nutze ich die Versionsverwaltung Assembla.com und habe subclipse in meinem Eclipse installiert. Klappt alles wunderbar, nur wäre es an der Zeit das auf den eigenen Server umzuziehen. Die Frage ist nun, welche Software soll ich einsetzen? Von git ist viel die Rede, aber kann man so einfach von svn auf git umsteigen? Ist git auch so organisiert wir svn mit branches und trunk? Sprich: Soll ich nun git anstatt svn installieren, weil es die modernere Technologie ist, oder ist git für einen anderen Anwendungszweck?
Danke, Gruß fabske
Bisher nutze ich die Versionsverwaltung Assembla.com und habe subclipse in meinem Eclipse installiert. Klappt alles wunderbar, nur wäre es an der Zeit das auf den eigenen Server umzuziehen. Die Frage ist nun, welche Software soll ich einsetzen? Von git ist viel die Rede, aber kann man so einfach von svn auf git umsteigen? Ist git auch so organisiert wir svn mit branches und trunk? Sprich: Soll ich nun git anstatt svn installieren, weil es die modernere Technologie ist, oder ist git für einen anderen Anwendungszweck?
Danke, Gruß fabske
Bevor Du einen Beitrag postest:
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
Re: Software zur Versionsverwaltung
Ja das geht relativ problemlos . Du kannst sogar git mit einem svn Server im Hintergrund benutzen (natürlich mit gewissen Einschränkungen, weil git mehr kann).Die Frage ist nun, welche Software soll ich einsetzen? Von git ist viel die Rede, aber kann man so einfach von svn auf git umsteigen?
Nein nicht direkt. git und svn sind vom Konzept her sehr unterschiedlich. Du musst dich auf jeden Fall ein bisschen damit beschäftigen, Dokumentation findet sich zu hauf, z.B. http://git-scm.com/book . Wenn du etwas über das zugrundeliegende Konzept wissen willst, gern mal ein Video anschaust und kein Problem mit gerante gegen svn bzw. Linus Torvalds Humor allgemein hast, dann gibts das hier https://www.youtube.com/watch?v=4XpnKHJAok8 .Ist git auch so organisiert wir svn mit branches und trunk?
Nein der Anwendungszweck ist der selbe. Git ist nur anders (und besser), es lohnt sich auf jeden Fall sich damit zu beschäftigen. Und mit EGit gibts auch eine brauchbare Eclipse Integration.Sprich: Soll ich nun git anstatt svn installieren, weil es die modernere Technologie ist, oder ist git für einen anderen Anwendungszweck?
//edit: Von wegen eigenem Server solltest du dir gitolite anschauen.
Unix is user-friendly; it's just picky about who its friends are.
Re: Software zur Versionsverwaltung
Hi,
der wesentliche Unterschied zwischen Git und SVN ist: Git ist ein "verteiltes" Versionskontrollsystem.
Jeder hat immer ein vollstaendiges Repository auf seinem Rechner und kann daher - auch ohne Verbindung zu einem "zentralen" Repository alle wesentlichen Aktionen durchfuehren - z.B. auch branchen und mergen.
Wenn bei Dir bisher immer online mit den Subversion Repository verbunden seid, dann bringt der Wechsel zu git nicht so viel.
Anders verhaelt es sich, wenn man auch schon mal oefter offline ist aber auch noch arbeiten moechte.
Aber dann kommt direkt die Frage nach den anderen Dingen die man sonst zentral hat: Issue Tracking, Wiki etc.
Vielleicht lohnt es sich dann mal fossil anzuschauen.
Ciao
Stefan
der wesentliche Unterschied zwischen Git und SVN ist: Git ist ein "verteiltes" Versionskontrollsystem.
Jeder hat immer ein vollstaendiges Repository auf seinem Rechner und kann daher - auch ohne Verbindung zu einem "zentralen" Repository alle wesentlichen Aktionen durchfuehren - z.B. auch branchen und mergen.
Wenn bei Dir bisher immer online mit den Subversion Repository verbunden seid, dann bringt der Wechsel zu git nicht so viel.
Anders verhaelt es sich, wenn man auch schon mal oefter offline ist aber auch noch arbeiten moechte.
Aber dann kommt direkt die Frage nach den anderen Dingen die man sonst zentral hat: Issue Tracking, Wiki etc.
Vielleicht lohnt es sich dann mal fossil anzuschauen.
Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.
Re: Software zur Versionsverwaltung
Dem muss ich widersprechen das ist auch sinnvoll, wenn man immer online ist. Es ist z.B. generell gut oft zu commiten, allerdings musst du das bei svn sofort auf dem Server tun. Wenn das ein inkonsistenter Zwischenstand ist will man das ja nicht unbedingt im zentralen Repository haben (und wenn man es trotzdem am Ende nach einem einzigen Commit aussehen lassen will, auch das geht). Wenn man das weiterspinnt legt man sich bei größeren Vorhaben auch mal schnell einen lokalen Branch dafür an und merget das dann in den master wenns fertig ist. Dann ist da noch der Geschwindigkeitsvorteil, wenn man lokal arbeitet und was machst du bei svn, wenn der Server mal ausfällt?Wenn bei Dir bisher immer online mit den Subversion Repository verbunden seid, dann bringt der Wechsel zu git nicht so viel.
Anders verhaelt es sich, wenn man auch schon mal oefter offline ist aber auch noch arbeiten moechte.
Außerdem hat git außer der Verteiltheit noch einige Features mehr. http://git-scm.com/about ist da recht schön. Dann noch so nette Kleinigkeiten und Lebensretter wie git stash oder git bisect.
Unix is user-friendly; it's just picky about who its friends are.
Re: Software zur Versionsverwaltung
Vielen Dank für die tollen infos!! Vor allem Erklärende Videos finde ich Super! Gibt es auch ein HowTo wie man die ersten Schritte durchführt? Und vor allem, welches Paket aus Debian installiere ich mir nun als Server? Einfach das Paket git-all?
Bevor Du einen Beitrag postest:
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
Re: Software zur Versionsverwaltung
Kommt ganz auf deine Anforderungen/Wünsche an. Wenn du einen einfachen git-Server aufsetzen möchtest, der als "zentrales" Repo dient, findest du gaaaanz viele Anleitungen im Netz (ist leider nicht so einfach wie die Installation eines svn-Servers).
Wenn du eine Weboberfläche mit Managementfunktionen möchtest, wirst du dir wohl noch andere Software anschauen müssen:
- GitWeb ( https://git.wiki.kernel.org/index.php/Gitweb )
- GITORIOUS ( http://www.gitorious.org/gitorious/pages/Installation )
- Gitblit ( http://gitblit.com ) - All in One Java basierte Lösung
- Gitlab ( http://gitlabhq.com/ ) - Orientiert sich an Github - keine öffentlichen Repos möglich. Sieht ansonsten ganz gut aus
Wenn du eine Weboberfläche mit Managementfunktionen möchtest, wirst du dir wohl noch andere Software anschauen müssen:
- GitWeb ( https://git.wiki.kernel.org/index.php/Gitweb )
- GITORIOUS ( http://www.gitorious.org/gitorious/pages/Installation )
- Gitblit ( http://gitblit.com ) - All in One Java basierte Lösung
- Gitlab ( http://gitlabhq.com/ ) - Orientiert sich an Github - keine öffentlichen Repos möglich. Sieht ansonsten ganz gut aus
Re: Software zur Versionsverwaltung
Kommt drauf an, wenn man damit leben kann, dass user vollen shell zugriff haben und keine zu große Ansprüche an die rechteverwaltung hat ist sshd installieren und user anlegen das was im wesentlichen zu machen ist.Kommt ganz auf deine Anforderungen/Wünsche an. Wenn du einen einfachen git-Server aufsetzen möchtest, der als "zentrales" Repo dient, findest du gaaaanz viele Anleitungen im Netz (ist leider nicht so einfach wie die Installation eines svn-Servers).
Aber gitolite ist so kompliziert auch nicht, wenn man mehr will.
Unix is user-friendly; it's just picky about who its friends are.
Re: Software zur Versionsverwaltung
Ich habe mir nun das Video von Linus angeschaut und finde git echt toll! ABER: Wozu installiere ich nun einen git-Server, wenn es doch ein dezentrales Konzept ist? So wie ich Linus verstanden hab, braucht man gar keinen Server mehr! Also jeder installiert sich seinen eigenen git-Server auf seinem Rechner und dann verbindet man sich untereinander, oder wie?
Also Java mag ich nicht so, deshalb hab ich nun diese Software zur Auswahl:
- GitWeb ( https://git.wiki.kernel.org/index.php/Gitweb )
- GITORIOUS ( http://www.gitorious.org/gitorious/pages/Installation )
- http://sitaramc.github.com/gitolite/
- Gitlab ( http://gitlabhq.com/ )
Wozu braucht man denn die grafische Oberfläche? Zum mergen? Und hat dann jeder eine eigene grafische Oberfläche auf seinem PC? Ich suche eine Software die man einfach mit Apache VHost in Betrieb nehmen kann, ohne viel Aufwand..
Vielen Dank, fabske!
Also Java mag ich nicht so, deshalb hab ich nun diese Software zur Auswahl:
- GitWeb ( https://git.wiki.kernel.org/index.php/Gitweb )
- GITORIOUS ( http://www.gitorious.org/gitorious/pages/Installation )
- http://sitaramc.github.com/gitolite/
- Gitlab ( http://gitlabhq.com/ )
Wozu braucht man denn die grafische Oberfläche? Zum mergen? Und hat dann jeder eine eigene grafische Oberfläche auf seinem PC? Ich suche eine Software die man einfach mit Apache VHost in Betrieb nehmen kann, ohne viel Aufwand..
Vielen Dank, fabske!
Bevor Du einen Beitrag postest:
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
Re: Software zur Versionsverwaltung
Java magst du nicht und nutzt Eclipse
Arbeitest du dann allein an deinen Projekten? Wenn ja, benötigst du eigentlich keinen zentralen git-Server...so ein zentraler Server ist ja nur interessant, wenn du mit mehreren Leuten an Projekten arbeitest und ihr einen zentralen Stand haben möchtet, von dem ihr z.B. neue Versionen veröffentlicht/baut.
Jeder arbeitet komplett selbstständig mit seinem lokalen git-Repo. Du kannst dann ja gegen beliebig viele weitere Repos commiten und so u.a. ein gemeinsam genutzt Repo "füllen".
Ich nutze NetBeans (*g*), in NetBeans kann ich einfach einen Rechtsklick auf ein Projekt machen und ein neues git-Repo für das Projekt erzeugen (mit allen möglichen Aktionen, grafischen Diffs, Logs etc). Für meine privaten/lokalen Projekte habe ich somit auch keinen zentralen Server, sondern nutze ein lokales git-Repo für jedes Projekt.
Arbeitest du dann allein an deinen Projekten? Wenn ja, benötigst du eigentlich keinen zentralen git-Server...so ein zentraler Server ist ja nur interessant, wenn du mit mehreren Leuten an Projekten arbeitest und ihr einen zentralen Stand haben möchtet, von dem ihr z.B. neue Versionen veröffentlicht/baut.
Jeder arbeitet komplett selbstständig mit seinem lokalen git-Repo. Du kannst dann ja gegen beliebig viele weitere Repos commiten und so u.a. ein gemeinsam genutzt Repo "füllen".
Ich nutze NetBeans (*g*), in NetBeans kann ich einfach einen Rechtsklick auf ein Projekt machen und ein neues git-Repo für das Projekt erzeugen (mit allen möglichen Aktionen, grafischen Diffs, Logs etc). Für meine privaten/lokalen Projekte habe ich somit auch keinen zentralen Server, sondern nutze ein lokales git-Repo für jedes Projekt.
Re: Software zur Versionsverwaltung
Theoretisch musst du das nicht, allerdings müsste dann jeder Projektteilnehmer sein repo im Netz erreichbar haben und du dann von jedem die Änderungen pullen. Machbar aber ein zentrales repo in das alle pushen ist dann in der Regel doch angenehmer.Ich habe mir nun das Video von Linus angeschaut und finde git echt toll! ABER: Wozu installiere ich nun einen git-Server, wenn es doch ein dezentrales Konzept ist?
Wenn du alleine bist und auch dein Zeug nicht öffentlich zugänglich machen willst kannst du dir ein zentrales repo natürlich sparen.
Es gibt halt zum einen diese Weboberflächen wie gitweb oder cgit, die sind halt zum anschauen da (history, tree). Zum anderen gibts natürlich auch lokale GUIs wie git-gui, gitk oder qgit, nutzt man in der Regel auch eher um durch die history zu browsen oder auch für andere Zwecke, wenn man GUI Liebhaber ist.Wozu braucht man denn die grafische Oberfläche? Zum mergen? Und hat dann jeder eine eigene grafische Oberfläche auf seinem PC?
Das geht in Eclipse ähnlich, einfach EGit aus dem Marketplace installieren oder von da http://www.eclipse.org/egit/download/ .Ich nutze NetBeans (*g*), in NetBeans kann ich einfach einen Rechtsklick auf ein Projekt machen und ein neues git-Repo für das Projekt erzeugen (mit allen möglichen Aktionen, grafischen Diffs, Logs etc). Für meine privaten/lokalen Projekte habe ich somit auch keinen zentralen Server, sondern nutze ein lokales git-Repo für jedes Projekt.
Also für repositories mit Schreibzugriff läuft das in der Regel über ssh (oft in Zusammenspiel mit gitolite oder den all in one Lösungen wie GITORIOUS) aber das hat man ja eh. Wenn du unbedingt den apache benutzen willst geht das aber wohl auch mittlerweile http://www.mabishu.com/blog/2011/02/09/ ... gest-auth/ bzw. http://git-scm.com/2010/03/04/smart-http.html .Ich suche eine Software die man einfach mit Apache VHost in Betrieb nehmen kann, ohne viel Aufwand..
Gitweb und co. sollten mit apache auch kein großes Problem sein.
Unix is user-friendly; it's just picky about who its friends are.
Re: Software zur Versionsverwaltung
Ich hab jetzt einfach mal angefangen git lokal auf meinem Rechner zu verwenden. Dazu schaue ich dieses echt gute Video: http://www.youtube.com/watch?v=ZDR433b0HJY
Bisher arbeite ich rein auf der Konsole, aber ich hätte auch gerne bisschen was grafisches dazu. Bei Minute 33:20 gibt er auf der Konsole ein "git lol" und bekommt einen Tree der Historie! Ich kann das nicht reproduzieren! Und conflicts hatte ich auch schon beim Testen und wusste nicht wie ich sie auflösen soll.
Gibt es ein grafisches Programm mit dem man so einen Tree sehen kann und vielleicht mit integriertem diff um Konflikte aufzulösen? Oder was verwendet ihr da?
Bisher arbeite ich rein auf der Konsole, aber ich hätte auch gerne bisschen was grafisches dazu. Bei Minute 33:20 gibt er auf der Konsole ein "git lol" und bekommt einen Tree der Historie! Ich kann das nicht reproduzieren! Und conflicts hatte ich auch schon beim Testen und wusste nicht wie ich sie auflösen soll.
Gibt es ein grafisches Programm mit dem man so einen Tree sehen kann und vielleicht mit integriertem diff um Konflikte aufzulösen? Oder was verwendet ihr da?
Bevor Du einen Beitrag postest:
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
Re: Software zur Versionsverwaltung
Ich finde die Kommandozeilentools von git großartig. Zwar muss man dafür schon wissen, wie git funktioniert und sich auch gelegentlich mal in die Tools einarbeiten, aber grundsätzlich sind weder cvs noch svn so gut aus der Konsole zu bedienen, wie git.fabske hat geschrieben: Bisher arbeite ich rein auf der Konsole, aber ich hätte auch gerne bisschen was grafisches dazu.
Unabhängig davon bringt git aber eigene grafische Tools mit.
- git-gui: tk-Frontend für git
- gitk: Repository browser
- tig: ncurses Frontend für git (extra Paket: tig)
"git lol" kenn ich nicht. Hab spontan nur das gefunden.Bei Minute 33:20 gibt er auf der Konsole ein "git lol" und bekommt einen Tree der Historie! Ich kann das nicht reproduzieren!
Konflikte sind ja bei git weder seltener, noch häufiger als bei anderen Versionierungstools. Um sie aufzulösen, rufUnd conflicts hatte ich auch schon beim Testen und wusste nicht wie ich sie auflösen soll.
Gibt es ein grafisches Programm mit dem man so einen Tree sehen kann und vielleicht mit integriertem diff um Konflikte aufzulösen? Oder was verwendet ihr da?
Code: Alles auswählen
git mergetool
Code: Alles auswählen
merge tool candidates: kdiff3 tkdiff xxdiff meld gvimdiff opendiff emerge vimdiff
- Git Pro Buch: Vollstaendiges Buch zu git
- Git Ready: Lauter kleine Tipps, um bestimmte Aufgaben mit git zu lösen