Beiträge getagged ‘Git’

Git Cheat Sheet für den schnellen Überblick

10 März 2010

Wer kennt das nicht? Da beschäftigt man sich mit einer neuen Versionsverwaltung und hat einige Begriffe und Befehle neu zu erlernen. Da hilft meistens die Lektüre von einschlägigen Howtos, Readmees und Man-Pages. Doch hat man die ersten Hürden genommen, folgt die tägliche oder nicht so alltägliche Arbeit mit dem System. Und genau dann braucht man eine schnell verfügbare Übersicht über das System.

» Weiterlesen: Git Cheat Sheet für den schnellen Überblick

Mein Einstieg in Git

4 August 2009

Wie ich ja bereits angedroht habe, werde ich mir Git etwas näher ansehen. Natürlich benötige ich als erstes eine einfache Möglichkeit, Git Repositories auf meinem Server ablegen zu können. Nach einer etwas längeren Suche und einigen Tests mit ssh+git und git-daemon bin ich auf gitosis gestoßen. Die Sammlung von Pythonskripten erlaubt das einfache Anlegen und Verwalten von Git Repositories. Besonderes Schmankerl ist die Authorisierung der Benutzer über deren öffentlichen SSH-Schlüsel. Das geht zwar auch mit git-Bordmitteln, aber Dank gitosis benötigt nicht jeder Git-Anwender einen eigenen Account auf dem Server.

Wie wird das ganze nun aufgesetzt? Ganz einfach dieser sehr guten gitosis-Anleitung folgen. Nach nicht einmal 15 Minuten hatte ich mein erstes Railsprojekt im eigenen Git-Repository lokal und auf dem Server.

Die Administration von gitosis ist nach dessen einmaliger Initialisierung auf dem Server komplett per eigenem Git-Repository möglich. Sprich das gitosis-admin Repsoitory clonen, lokal die Konfiguration anpassen, committen, pushen und fertig. Fast so einfach wie die Programmierung mit Rails ;)

Auf zum Feldtest von Git…

Wird es Zeit, sich Git anzusehen?

8 Juli 2009

In den letzten Wochen und Monaten habe ich immer mehr Berührung mit dem Verwaltungssystem Git bekommen. Sei es durch eine Vielzahl an Plugins für Ruby on Rails, die auf github gehostet werden, oder die seit einigen Wochen öffentlich zugänglichen Qt Quellen auf Gitorious. Und heute kam die Meldung, dass auch KDE von Subversion auf Git wechseln möchte.

Wird es also Zeit für mich einmal einen näheren Blick auf Git zu werfen? Dabei stellen sich mir die Fragen, wie ich einen Server installiere, über welches Protokoll greif ich auf ihn zu. Wie handhabe ich Zweige, Commits, Merges und wie sehe ich mir das Log an? Alles Fragen, die ich mir in Zukunft sicher einmal beantworten werden. Wenn es soweit ist, könnt ihr an dieser Stelle die Antworten darauf lesen. :)

Dezentralisiertes Subversion Repository

21 September 2008

Da ich nächste Woche für einige Tage ohne Netzwerk auskomme habe ich nach einer Möglichkeit gesucht, trotz allem in meine Subversion Repositories auf meinem Server zu committen. Es fehlt also die Möglichkeit ein Subversion Repository dezentral verwalten zu können, ähnlich Git. Git ist ursprünglich von Linus Torvalds entwickelt worden um BitKeeper als Quelltextverwaltung für den Linux-Kernel zu ersetzen. Das neue System zeichnet sich durch ein dezentralisiertes Quelltextmanagement aus. Jeder Entwickler hat eine lokale Kopie des Repositorys bzw. eines Zweiges aus dem Repository. Sämtliche Änderungen am Repository werden erst in die lokale Kopie eingespielt und später bei Bedarf und einer bestehenden Netzwerkverbindung mit einem Repository auf einem zentralen Server abgeglichen.

Diese Funktionalität vermisse ich derzeit noch bei Subversion. Aber dafür gibt es git-svn. Das Programm stellt eine Brücke zwischen dem lokal verwendeten Git und einem zentralen Subversion-Repository dar. Git-svn muss natürlich erst einmal auf dem Rechner installiert werden.

apt-get install git-svn

Danach lege ich mir ein leeres Verzeichnis für meinen lokalen Git-Klon an und besorge mir das Git-Repository aus meinem Subversion-Repository.

mkdir ~/src/meinprojekt/git/
cd ~/src/meinprojekt/git/
git-svn clone http://www.anrichter.net/svn/meinprojekt/trunk

Damit steht mir eine lokale Kopie meiner Quellen bereit. Dort kann ich weiter entwickeln und ganz ohne Netzwerkverbindung meine Änderungen in das Git-Repository einspielen.

git commit -a

Wenn ich später wieder Netzwerkverbindung habe, kann ich das Git-Repository von meinem Rechner mit dem Subversion-Repository auf meinem Server abgleichen. Dazu besorge ich mir erst alle Änderungen, die seit dem letzten Abgleich im Subversion-Repository erfolgt sind.

git-svn rebase

Danach kann ich meine eigenen Änderungen aus dem Git-Repository in das Subversion-Repository auf dem Server einspielen.

git-svn dcommit

Leider funktioniert das Vorgehen nicht mit externen Verweisen in einem Subversion Repository. Kann Git das Subversion-Property svn:external abbilden? Wenn ja wie? Oder geht das noch einfacher?

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Deutschland
This work by Andreas Richter is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Deutschland.