Hier eine kurze Anleitung in der ein Git-Server aufgesetzt wird auf einem Server, dann „Git for Windows“ installiert und Git in QT Creator integriert wird.
Anleitung Server
Git installieren und konfigurieren
apt install git
adduser git
#Ein Kennwort festlegen, oder einfach Enter drücken
cd /home/git
su git
mkdir .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
mkdir git-shell-commands
cd git-shell-commands
cat > help << EOF
#!/bin/sh
if tty -s
then
echo
echo "fatal: What do you think I am? A shell?"
echo "type 'exit' to leave."
fi
EOF
chmod u+x help
exit
#Jetzt wieder als root:
usermod -s /usr/bin/git-shell git
Test-Repository
su git -s /bin/bash
#jetzt ist man wieder Benutzer "git" und muss keine Rechte bzw. Besitzer anpassen. Wenn man das hier als "root" machen würde, müsste man danach den Besitzer auf "git ändern:
(chown git: *.git/* -R ;chown git: *.git/.* -R)
mkdir testrepo.git
cd testrepo.git
git ––bare init
Ausserdem noch ein weiteres Repository für z.B. QtCreator erstellen
mkdir /home/git/qt.git
cd /home/git/qt.git
git ––bare init
Repository testen
Folgendes unter „git bash“ unter Windows oder direkt auf der Linux Kommandozeile:
git clone ssh://git@$IP-ADRESSE/~/testrepo.git
cd testrepo
echo "Das wird der erste Commit" > testdatei
git add testdatei
git commit -am "Erster Commit"
git push origin master
Unter Windows
Git for Windows
von https://gitforwindows.org/ runterladen
Ich mag es, div. Tools von Linux unter Windows zu haben.
Dazu bei der Installation folgende Einstellungen machen (wo nix dabei steht, ist der Standardwert genommen worden)
- „Use nano as the default editor“
- „Use Git and optional Unix tools from the command prompt“
- „Enable symbolic links“ (k.A. was das tut, hört sich aber gut an…)
Am Ende das „Git bash“ öffnen
Git GUI
Das „Git GUI“ im Startmenü öffnen.
Im Fenster dann unter „Hilfe“ (Help) „Show SSH Key“ wählen.
Da es wahrscheinlich noch keinen SSH Key gibt, diesen mittels „Generate Key“ erstellen.
Ich mache dies ohne Passwort.
Danach den generierten Schlüssel kopieren.
Git bash
Um den gerade generierten Benutzer-SSH Schlüssel in die authorized_keys einzutragen, loggt man sich als „root“ auf dem Server nochmal ein.
Dann:
nano /home/git/.ssh/authorized_keys
und den kopierten SSH-Schlüssel eintragen.
Ctrl-o, <enter>, Ctrl-x
Ausloggen und testen, ob jetzt ohne Passwortabfrage ein Einloggen für den Benutzer „git“ möglich ist:
ssh git@$IP-ADRESSE
Dann sollte direkt, ohne Passwortabfrage, folgende Meldung kommen:
"fatal: What do you think I am? A shell?"
Dies mit "exit" verlassen.
Die Altdaten übernehmen
Die bisherigen Projektdateien von QtCreator liegen z.B. unter c:\Users\Udo\Documents.
Da in „Git Bash“ hin wechseln.
Jetzt da das lokale Repository erstellen:
git init
git add *
git config ––global user.name "Bob Ross"
git config ––global user.email bross@example.zzz
git commit
git remote add origin git@IP-ADRESSE:/home/git/qt.git
git push ––set-upstream origin master
Konfiguration in QtCreator
Unterhalb von Extras-> Einstellungen gibt es die „Versionskontrolle“.
Da auf den Reiter „git“ wechseln.
In „Git Bash“ folgendes eingeben:
echo $PATH
Das da ausgegebene oben in das Feld „Path voranstellen“ einfügen.
Das „Tools“ Menü, so es denn so heisst, ist das Feld unterhalb des Knopfes „Bearbeiten“. Da steht meist „Projekte“, darunter gibt es aber auch „Git Branches“
Dorthin wechseln.
Dann mit dem „+“ das lokale Repository wählen. Das haben wir hier drüber angelegt – den Pfad auswählen.
Veränderte Dateien eingeben
Unterhalb von Extras gibt es jetzt (sonst ggf. QtCreator neu starten) den Reiter „Git“.
Dort dann unterhalb von „Lokales Repository“ auf „Commit“ gehen. Oder auch unterhalb von „Remote Repository“.
Aber eine Git-Erklärung kann das hier nicht auch noch sein… 😉
Schon fertig….