Ich verwende git for Windows zusammen mit Putty.
Download
Für die Installation werden dementsprechend zunächst git for Windows und Putty benötigt.
-
Downloadseite von git for Windows
-
Downloadseite von Putty
Installation
Ich empfehle, zunächst Putty zu installieren, und zwar am ehesten unter Verwendung des Windows-Installers.
Danach kann die Installation von git for Windows beginnen. Im Verlauf des Installationsprozesses sind einige Fragen zur (Erst-) Konfiguration zu beantworten:
Auswahl der zu installierenden Komponenten
Screenshot: Auswahl der zu installierenden Komponenten
Zusätzlich ausgewählt werden können hier
- Desktop-Icons,
- die Aufnahme von Git Bash und Git GUI ins Kontext-Menü des Windows-Explorers,
- Unterstützung für Git Large File Storage,
- die Verknüpfung von
.gitignore
und vergleichbaren Dateien mit dem Windows-Standard-Editor (normalerweise Notepad), - die Verknüpfung von
.sh
-Dateien mit der Bash, - die Verwendung einer TrueType-Schrift für alle Terminals und
- die tägliche Suche nach Updates.
Auswahl des Standard-Editors für git
Screenshot: Auswahl des Standard-Editors
Für Commit-Messages und ähnliche Zwecke startet git einen Editor; standardmäßig ist das vim. Ich habe diese Einstellung so belassen, aber der eine oder andere möchte stattdessen vielleicht einen anderen Editor auswählen wie Notepad++ oder Sublime Text.
Auswahl des Suchpfades für git
Screenshot: Auswahl des Suchpfades
Standardmäßig wird git nur aus der Git Bash, also der
mitgelieferten Terminalumgebun, gestartet. Hier können Sie den Suchpfad
(PATH
) so anpassen, dass entweder nur git oder auch alle
mitgelieferten Tools auch von der normalen Windows-Kommandozeile aus
gestartet werden können. Wenn Sie auch die Tools in den Suchpfad aufnehmen,
stehen gleichnamige Windows- bzw. DOS-Tools nicht mehr zur Verfügung, weil
das System dann zuerst die mit git mitgelieferten Tools findet.
Auswahl des SSH-Programms
Screenshot: Auswahl des SSH-Programms
git unterstützt entweder das mitgelieferte OpenSSH für die Herstellung von SSH-Verbindungen oder Putty, bzw. das entsprechende Kommandozeilen-Programm plink. Ggf. muss hier der passende Pfad angegeben werden, wenn der Installer ihn nicht von selbst findet.
Auswahl der SSL-Bibliothek für HTTPS-Verbindungen
Screenshot: Auswahl der SSL-Bibliothek
Gesicherte Verbindungen zu einem git-Server können neben SSH auch über HTTPS aufgebaut werden. Hier kann ausgewählt werden, welche SSL-Bibliothek verwendet werden soll. Das hat auch Auswirkungen, auf welchen Speicher für gültige Zertifikate zugegriffen wird.
Auswahl der Konvertierung von Zeilenenden
Screenshot: Auswahl der Zeilenenden
Windows und Unix verwenden unterschiedliche Steuerzeichen, um ein Zeilenende bzw. einen Zeilenumbruch in Textdateien zu kennzeichnen. Windows benutzt CR+LF, also "carriage return" und "line feed", Unix verwendet nur LF, also nur "line feed". Wer schon einmal Textdateien - Konfigurationsdateien, Webseiten, PHP- oder andere Code - von einem Windowsrechner (Arbeitsrechner) auf einen Unixrechner (Webserver unter Linux) transferiert hat, kennt das Problem.
git und git for Windows bieten die Möglichkeit einer automatischen Konvertierung von Textdateien beim Ein- oder Auschecken. Die dritte (unterste) Option schaltet diese Konvertierung aus. Die oberste Option konvertiert alle Zeilenende beim Auschecken nach Windows und beim Einchecken nach Unix. Dateien werden also auf dem Windows-Arbeitsrechner immer Windows-Zeilenenden haben, im Repository aber mit Unix-Zeilenenden abgelegt sein und beim Checkout auf einem Unix-Rechner anderswo dementsprechend auch diese Zeilenende haben. Die mittlere Option checkt Dateien unverändert aus, konvertiert die Zeilenenden aber beim Einchecken nach Unix. Das bedeutet, dass alle Dateien spätestens nach dem ersten Einchecken Unix-Zeilenenden haben.
Für die Arbeit auf einem Windows-Rechner wird die erste Option empfohlen. Ich nutze jedoch die zweite Option - aus zwei Gründen. Zum einen unterstützen alle von mir verwendeten Editoren auch Unix-Zeilenenden, so dass eine Konvertierung nach Windows für mich nicht notwendig ist. Zum anderen kann ich so auch einmal eine Datei per SCP von Hand auf einen Linuxserver hochladen, ohne sie dann noch einmal konvertieren zu müssen.
Die Auswahl wird in der zentralen Konfigurationsvariablen core.autocrlf
gespeichert und kann dementsprechend auch später noch geändert werden mit
dem Befehl git config --global core.autocrlf ..., wobei statt
...
dann eben true
, input
oder false
zu setzen sind.
Auswahl des Terminal-Emulators
Screenshot: Auswahl des Terminal-Emulators
Als Terminal kann entweder das bei git for Windows mitgelieferte
MinTTY oder die normale Windows-Kommandozeile cmd.exe
verwendet werden.
Konfiguration weiterer Optionen
Screenshot: Auswahl weiterer Optionen
Abschließend können noch einige weitere Optionen ausgewählt werden:
- Caching zur Performance-Verbesserung (
core.fscache
), - der Git Credential Manager for Windows und
- Unterstützung für symbolische Links.
Letzteres erfordert die Zuweisung des SeCreateSymbolicLinkPrivilege
unter
Windows für alle Benutzer, die diese Möglichkeit verwenden wollen.
Konfiguration
Zum Abschluss sind noch einige Konfigurationsänderungen vorzunehmen.
Umgebungsvariable GIT_SSH
setzen
Zum einen muss der Suchpfad für plink, das verwendete SSH-Programm
aus dem Putt-Paket, konfiguriert werden. Aktuelle Versionen von
git for Windows sollten das automatisch tun; wenn Sie aber
Schwierigkeiten mit SSH-Verbindungen haben, sollten Sie die
Umgebungsvariable GIT_SSH
passend setzen.
Dazu begeben Sie sich in der Systemsteuerung im Bereich "System und Sicherheit" zum Auswahlpunkt "System" und wählen dort im Menü auf der linken Seite den Punkt "Erweiterte Systemeinstellungen"; Administrator-Rechte sind dafür erforderlich. Es öffnet sich sodann ein weiteres Fenster, in dem bereits der Reiter "Erweitert" ausgewählt ist.
Screenshot: Der Dialog "erweiterte Systemeigenschaften"
Über den Button "Umgebungsvariablen" gelangen Sie zu einem weiteren
Auswahldialog, in dem Sie entweder nur für denm angemeldeten Benutzer oder
global die Umgebungsvariable GIT_SSH
auf den Pfad zum Programm plink
setzen können.
Screenshot: Der Dialog "Umgebungsvariablen"
Öffentlichen SSH-Schlüssel des Servers speichern
Schließlich müssen Sie noch dafür sorgen, dass Putty und plink den öffentlichen SSH-Schlüssel (Hostkey) des Servers, mit dem git sich verbinden soll, kennen.
Ich baue dafür eine SSH-Verbindung über Putty auf und akzeptiere - nach Prüfung - den Hostkey. Danach kann der Verbindungsversuch abgebrochen werden und der Hostkey ist gespeichert. (Sicher geht das auch noch professioneller, aber es tut auch so seinen Zweck.)
Pageant starten
Vor der Arbeit mit git for Windows sollten Sie jeweils pageant starten und Ihren SSH-Schlüssel dort laden.
Abschluss
Jetzt ist git for Windows installiert und konfiguriert.
Sie können nun sowohl die Kommandozeile als auch den graphischen Client entweder über die Desktop-Icons oder über das Kontextmenü im Explorer starten und dann mit der Arbeit mit git loslegen.
gitk, der Git Repository Browser, lässt sich einfach über die
Kommandozeile starten. Geben Sie dort gitk& ein. Das &
startet
gitk im Hintergrund. Wollen Sie gitk direkt mit allen Branches
starten, benutzen Sie gitk --all&. Selbstverständlich geht das
auch aus den Menüs im graphischen Client.
Für den Einstieg hilft dann die Dokumentation - die man pages oder das komplette Buch Pro Git, das teilweise bereits ins Deutsche übersetzt wurde. Daneben gibt es auch das deutschsprachige Git-Buch.
Viel Erfolg!