<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?action=history&amp;feed=atom&amp;title=DCV_2024_09%2FGit</id>
	<title>DCV 2024 09/Git - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?action=history&amp;feed=atom&amp;title=DCV_2024_09%2FGit"/>
	<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2024_09/Git&amp;action=history"/>
	<updated>2026-04-15T01:52:55Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in CCWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2024_09/Git&amp;diff=3588&amp;oldid=prev</id>
		<title>Sandro: Die Seite wurde neu angelegt: „Durch das verwenden von Git in der Kommandozeile, wird die Funktionionsweise von Git erst richtig verstanden. Je länger man Git verwendet um so fundierter wird das Wissen darüber. Weiters soll dadurch auch Erfahrung in der Kommandozeile erworben werden. Diese ist wichtig für den Serverbetrieb (Gnu/Linux) und für automatisierte Prozesse wie z.B.: CI/CD, Scripting, etc..   Weiterführende Informationen oder um einf…“</title>
		<link rel="alternate" type="text/html" href="https://ccwiki.digitalcampusvorarlberg.at/index.php?title=DCV_2024_09/Git&amp;diff=3588&amp;oldid=prev"/>
		<updated>2024-09-08T08:54:06Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Durch das verwenden von Git in der Kommandozeile, wird die Funktionionsweise von Git erst richtig verstanden. Je länger man Git verwendet um so fundierter wird das Wissen darüber. Weiters soll dadurch auch Erfahrung in der Kommandozeile erworben werden. Diese ist wichtig für den Serverbetrieb (Gnu/Linux) und für automatisierte Prozesse wie z.B.: &lt;a href=&quot;/index.php/Softwarequalit%C3%A4tsmanagement#CI/CD&quot; title=&quot;Softwarequalitätsmanagement&quot;&gt;CI/CD&lt;/a&gt;, Scripting, etc..   Weiterführende Informationen oder um einf…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Durch das verwenden von Git in der Kommandozeile, wird die Funktionionsweise von Git erst richtig verstanden. Je länger man Git verwendet um so fundierter wird das Wissen darüber. Weiters soll dadurch auch Erfahrung in der Kommandozeile erworben werden. Diese ist wichtig für den Serverbetrieb (Gnu/Linux) und für automatisierte Prozesse wie z.B.: [[Softwarequalitätsmanagement#CI/CD|CI/CD]], Scripting, etc..&lt;br /&gt;
&lt;br /&gt;
 Weiterführende Informationen oder um einfach einen Überblick über Git zu erhalten finden sich [[Softwarequalit%C3%A4tsmanagement#Versionskontrolle_-_Git|hier]].&lt;br /&gt;
&lt;br /&gt;
== Benutzername und E-Mail-Adresse setzen ==&lt;br /&gt;
Folgende Daten werden, wenn gesetzt in Commit Nachrichten verwendet. Zur eingabe kann eine beliebige Kommandozeile gestartet werden.&lt;br /&gt;
 Wird --global weggelassen, so beziehen sich die Daten lediglich auf das aktuelle git Projekt&lt;br /&gt;
&lt;br /&gt;
{{BML|code=&lt;br /&gt;
#E-Mail-Adresse&lt;br /&gt;
git config --global user.email &amp;quot;test@test.com&amp;quot;&lt;br /&gt;
#Name&lt;br /&gt;
git config --global user.name &amp;quot;Test&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Git-bash installieren ==&lt;br /&gt;
Im folgenden wird &amp;#039;&amp;#039;&amp;#039;git-bash&amp;#039;&amp;#039;&amp;#039; installiert. Durch &amp;#039;&amp;#039;&amp;#039;git-bash&amp;#039;&amp;#039;&amp;#039; erhalten wir eine &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;ourne&amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;gain&amp;#039;&amp;#039;&amp;#039;SH&amp;#039;&amp;#039;&amp;#039;ell, wie man Sie auf Gnu/Linux oder generell auf Unix ähnlichen System vorfindet.&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;git-bash&amp;#039;&amp;#039;&amp;#039; [https://www.gitforwindows.org/ hier] herunterladen und installieren&lt;br /&gt;
# Über einen Rechtsklick in einem beliebigen Ordner kann nun &amp;#039;&amp;#039;&amp;#039;git-bash&amp;#039;&amp;#039;&amp;#039; gestartet werden&lt;br /&gt;
&lt;br /&gt;
== Schlüsselpaar erstellen ==&lt;br /&gt;
Mittels eines Schlüsselpaares bestehend aus &amp;#039;&amp;#039;&amp;#039;privatem&amp;#039;&amp;#039;&amp;#039; und &amp;#039;&amp;#039;&amp;#039;öffentlichen Schlüssel&amp;#039;&amp;#039;&amp;#039; kann sich ein Client bei einem Git Repository authentifizieren sofern das ssh (Secure Shell) Protokoll verwendet wird.&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;git-bash&amp;#039;&amp;#039;&amp;#039; öffnen&lt;br /&gt;
# {{BSL|ssh-keygen -t ed25519 -C &amp;quot;your_email@example.com&amp;quot; #Durch eigene Email ersetzen}}&lt;br /&gt;
# Datei mit der Endung &amp;#039;&amp;#039;&amp;#039;C:\Users\DCV\.ssh\id_ed25519.pub&amp;#039;&amp;#039;&amp;#039; im Github Profile hinterlegen&lt;br /&gt;
&lt;br /&gt;
== Mergetool einrichten ==&lt;br /&gt;
Gibt es Konflikte zwischen dem lokalen und dem remote Stand, so kann es erforderlich sein, dass manuell Dateien gemerged (zusammengeführt) werden müssen. Dafür benötigt man ein Mergetool. Hierfür wird &amp;#039;&amp;#039;&amp;#039;meld&amp;#039;&amp;#039;&amp;#039; verwendet. Wird die graphische Git Oberfläche von IntelliJ verwendet, so wird das IntelliJ eigene Mergetool verwendet.&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;meld&amp;#039;&amp;#039;&amp;#039; [https://meldmerge.org/ hier] herunterladen und installieren&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;git-bash&amp;#039;&amp;#039;&amp;#039; öffnen&lt;br /&gt;
# {{BSL|vim ~/.gitconfig #Öffnet den Editor VIM}} &lt;br /&gt;
# Mit i oder der einfügen Taste in den Insert Mode wechseln und folgenden Code &amp;#039;&amp;#039;&amp;#039;hinzufügen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# {{BML|code=&lt;br /&gt;
[diff]&lt;br /&gt;
	tool = meld&lt;br /&gt;
[difftool]&lt;br /&gt;
	prompt = false&lt;br /&gt;
[difftool &amp;quot;meld&amp;quot;]&lt;br /&gt;
	cmd = &amp;quot;c:/Program\\ Files\\ \\(x86\\)/Meld/Meld.exe&amp;quot; &amp;quot;$LOCAL&amp;quot; &amp;quot;$REMOTE&amp;quot;&lt;br /&gt;
[merge]&lt;br /&gt;
	tool = meld&lt;br /&gt;
[mergetool &amp;quot;meld&amp;quot;]&lt;br /&gt;
	keepTemporaries = false&lt;br /&gt;
	cmd = &amp;quot;c:/Program\\ Files\\ \\(x86\\)/Meld/Meld.exe&amp;quot; &amp;quot;$LOCAL&amp;quot; &amp;quot;$BASE&amp;quot; &amp;quot;$REMOTE&amp;quot; --output &amp;quot;$MERGED&amp;quot;&lt;br /&gt;
[mergetool]&lt;br /&gt;
    keepBackup = false&lt;br /&gt;
}}&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Esc&amp;#039;&amp;#039;&amp;#039; drücken, &amp;#039;&amp;#039;&amp;#039;:wq&amp;#039;&amp;#039;&amp;#039; eingeben und mit Return bestätigen (w = write, q = quit)&lt;br /&gt;
&lt;br /&gt;
 Sollte der Pfad in &amp;#039;&amp;#039;&amp;#039;Schritt 5&amp;#039;&amp;#039;&amp;#039;, nicht dem installierten Pfad entsprechen, so muss dieser entsprechend angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Mit eigenem Branch arbeiten (Merge) ==&lt;br /&gt;
{{BML|code=&lt;br /&gt;
//Neuen Branch erstellen&lt;br /&gt;
git checkout -b feature/loginbutton&lt;br /&gt;
//Arbeit wird getan&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;wip&amp;quot;&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;wip&amp;quot;&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;wip&amp;quot;&lt;br /&gt;
git push origin feature/loginbutton&lt;br /&gt;
//Neueste Änderungen vom main branch holen&lt;br /&gt;
git fetch&lt;br /&gt;
git rebase origin/main&lt;br /&gt;
git push origin feature/loginbutton&lt;br /&gt;
//Änderungen in den main branch bringen&lt;br /&gt;
git checkout main&lt;br /&gt;
git merge feature/loginbutton&lt;br /&gt;
//gibt es Konflikte so müssen diese mit:&lt;br /&gt;
git mergetool&lt;br /&gt;
//aufgelöst werden, anschließend den Merge abschließen&lt;br /&gt;
git merge --continue&lt;br /&gt;
//Pushen auf main branch&lt;br /&gt;
git push origin main&lt;br /&gt;
//Zurück in den Branch wechseln&lt;br /&gt;
git checkout feature/loginbutton&lt;br /&gt;
&lt;br /&gt;
//Branch vom server löschen&lt;br /&gt;
//Zuerst muss man aus dem entsprechenden Branch rausgehen&lt;br /&gt;
git checkout main&lt;br /&gt;
//Löscht vom Server&lt;br /&gt;
git push origin :feature/loginbutton&lt;br /&gt;
//Branch lokal löschen&lt;br /&gt;
git branch -D feature/loginbutton&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Mit eigenem Branch arbeiten (Rebase) ==&lt;br /&gt;
{{BML|code=&lt;br /&gt;
//Neuen Branch erstellen&lt;br /&gt;
git checkout -b bernaswipbranch&lt;br /&gt;
//Arbeit wird getan&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;wip&amp;quot;&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;wip&amp;quot;&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;wip&amp;quot;&lt;br /&gt;
git push origin bernaswipbranch&lt;br /&gt;
//Commits mit s squashen&lt;br /&gt;
git rebase -i HEAD~3&lt;br /&gt;
git push origin bernaswipbranch -f&lt;br /&gt;
//Neue Änderungen vom Server holen&lt;br /&gt;
git fetch&lt;br /&gt;
//Änderungen &lt;br /&gt;
git rebase origin master&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge bernaswipbranch&lt;br /&gt;
git push origin master&lt;br /&gt;
//Zurück in den Branch wechseln&lt;br /&gt;
git checkout bernaswipbranch&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Sandro</name></author>
	</entry>
</feed>