05 August 2011 Dezentral, GIT, Source Control Systeme, TFS, Windows Robert Muehsig

Wer heute bei der Source Control Verwaltung hipp sein möchte, sollte auch mindestens mal ein Blick auf Git bzw. andere dezentrale Source Code Verwaltungen werfen. Git ist dabei der prominenteste Vertreter. Dass das Thema DVCS (Dezentrale Versionsverwaltung) auch in der .NET Welt früher oder später zum Mainstream wird verrät die Anmerkungen von Brain Harry zum nächsten TFS (Zuständig für den TFS bei der Microsoft Corp.) :

I’m certain that about this time, I bunch of people are asking “but, did you implement DVCS”.  The answer is no, not yet.  You still can’t checkin while you are offline.  And you can’t do history or branch merges, etc.  Certain operations do still require you to be online.  You won’t get big long hangs – but rather nice error messages that tell you you need to be online.  DVCS is definitely in our future and this is a step in that direction but there’s another step yet to take.

imageBei dem Blogpost gilt allerdings: Ich arbeite mich in Git erst seit kurzer Zeit ein, daher kann es durchaus zu “Unwahrheiten” kommen. Allerdings könnt ihr mich in den Kommentaren gerne berichtigen. Als weiterführende Hilfe empfehle ich z.B. die Hilfe Seite von GitHub.

Dann auf zur Tat…

 

Git – Was brauch ich?

Als Client für Windows empfiehlt sich msysgit. Wichtigstes Werkzeug ist allerdings dort die Git Bash. Es kann zwar auch eine GUI mit installiert werden, aber ehrlich gesagt hatte ich dort nicht durchgeblickt und die Anleitungen sind meist mit der Bash gemacht.

Zum Rumspielen eignet sich hervorragend ein Repository anzulegen auf GitHub oder auf Google Code (Google Code unterstützt nun auch Git). Ich habe bei beiden mal ein Repository angelegt und GitHub ist von der Benutzerführung wesentlich eleganter und bietet mehr Hilfen für Anfänger.

Einstieg bei GitHub

GitHub bietet eine super Hilfe, welche Stück für Stück alles näher bringt. Vom Setup des Clients.

image

Bis zum Erstellen des ersten Repositories:

image

Wichtigste Anfangsbefehle

Bereits im vorherigen Screenshot sind die ersten Befehle für einen ersten “Checkin” (in TFS Sprache ausgedrückt) :

Es wird ein Ordner namens “BizzBingo” erstellt, dann wird über “git init” die Initialisierung ausgeführt. In dem Ordner gibt es dann einen versteckten “.git” Ordner – da passiert die Magic mit der eigentlichen Versionsverwaltung. Es wird dann eine Datei angelegt und diese wird via “git add .” hinzugefügt und man macht ein “git commit –m ‘First!’”. Nun fügen wir via “git remote …” es zu GitHub hinzu und pushen es am Ende via “git push –u origin master”.

Damit ist das (im Beispiel wird eine ReadMe Datei angelegt) nun bei GitHub zu sehen.

Einstieg bei Google Code

Im Grunde ist es bei Google Code nicht viel anders. Hier beginnt es aber indem ich das Repository clone. Damit wird auch dieser “.git” Ordner in dem momentanen Verzeichnis angelegt.

image

Files hinzufügen

Ich hatte z.B. dann in das Verzeichnis mir Dateien kopiert.

Via “git add .” werden alle Dateien die in dem Verzeichnis sind dem Repository hinzugefügt.

Dann kommt der Befehl “git commit –m ‘KOMMENTAR’” – Achtung, wenn man einfach so git commit aufruft kommt VIM, welcher einen auffordert einen Kommentar einzugeben:

image

Jetzt “i” Drücken für den Inser-Mode und irgendwas eingeben, dann “ESC”, dann “:wq”. Ich empfehle eher den “-m ‘KOMMENTAR’” Parameter.

Am Ende wieder “git push –u origin master

Weitermachen…

Wie bereits oben angekündigt: Ich kann die GitHub Hilfe Seite nur empfehlen. Bei neuen Entdeckungen meinerseits werde ich wieder darüber bloggen Zwinkerndes Smiley

tl;dr:

Git Client für Windows runterladen

Repository anlegen auf GitHub / Google Code:

“git init” (bei GitHub) oder “git clone…” (bei Google Code)

“git add .”

“git commit –m ‘YEAH’”

“git push –u origin master”


Written by Robert Muehsig

Software Developer - from Dresden, Germany, now living & working in Switzerland. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de

If you like the content and want to support me you could buy me a beer or a coffee via Litecoin or Bitcoin - thanks for reading!