<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>git &#8211; webmatze.de</title>
	<atom:link href="https://webmatze.de/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>https://webmatze.de</link>
	<description>Profi Tipps für einen erfolgreichen Internetauftritt</description>
	<lastBuildDate>Fri, 20 Dec 2024 19:16:26 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Git Dashboard: Dein täglicher Überblick über Team-Aktivitäten</title>
		<link>https://webmatze.de/git-dashboard-dein-taeglicher-ueberblick-ueber-team-aktivitaeten/</link>
					<comments>https://webmatze.de/git-dashboard-dein-taeglicher-ueberblick-ueber-team-aktivitaeten/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Fri, 20 Dec 2024 19:11:02 +0000</pubDate>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>
		<guid isPermaLink="false">https://webmatze.de/?p=1084</guid>

					<description><![CDATA[Hey Developer-Community! Heute möchte ich euch ein cooles Tool vorstellen, das mir und meinem Team das Leben deutlich einfacher macht: Das Git Dashboard! Was ist das Git Dashboard? Stellt euch vor, ihr kommt morgens ins Büro und wollt schnell wissen: Was habt ihr gestern alles committed? Was haben eure Teammitglieder gemacht? Wer war besonders aktiv? [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Hey Developer-Community!</p>
<p>Heute möchte ich euch ein cooles Tool vorstellen, das mir und meinem Team das Leben deutlich einfacher macht: Das <a href="http://https://github.com/webmatze/git-dashboard" title="Git Dashboard">Git Dashboard</a>!</p>
<h2>Was ist das Git Dashboard?</h2>
<p>Stellt euch vor, ihr kommt morgens ins Büro und wollt schnell wissen:</p>
<ul>
<li>Was habt ihr gestern alles committed?</li>
<li>Was haben eure Teammitglieder gemacht?</li>
<li>Wer war besonders aktiv?</li>
</ul>
<p>Genau dafür haben wir das Git Dashboard entwickelt! Mit einem einzigen Befehl bekommt ihr einen übersichtlichen Report über alle Aktivitäten in eurem Repository.</p>
<h2>Wie funktioniert's?</h2>
<p>Super einfach! Nach der Installation könnt ihr zum Beispiel eingeben:</p>
<pre><code class="language-bash">git dashboard              # Zeigt den Report von gestern
git dashboard -d today     # Zeigt den heutigen Report
git dashboard --date 2024-12-18  # Zeigt den Report für ein bestimmtes Datum</code></pre>
<h2>Was macht es so besonders?</h2>
<ul>
<li>Zeigt eure persönlichen Commits übersichtlich an</li>
<li>Listet die Commits eurer Teammitglieder auf</li>
<li>Erstellt eine Rangliste mit Commit-Zahlen und geänderten Zeilen</li>
<li>Berücksichtigt alle Branches</li>
<li>Flexibel im Datum - heute, gestern oder jedes andere Datum</li>
</ul>
<h2>Perfekt für Daily Standups!</h2>
<p>Keine Panik mehr vor der Frage &quot;Was hast du gestern gemacht?&quot;. Ein schnelles <code>git dashboard</code> und ihr habt alle Infos parat!</p>
<h2>Probiert es aus!</h2>
<p>Das Tool ist Open Source und super einfach zu installieren. Schaut euch das Projekt auf GitHub an und gebt ihm einen Stern, wenn es euch gefällt!</p>
<p>Installation in zwei Schritten:</p>
<pre><code class="language-bash">git clone https://github.com/webmatze/git-dashboard.git
./install.sh</code></pre>
<p>Viel Spaß beim Ausprobieren!</p>
<p>P.S.: Feedback und Contributions sind immer willkommen!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/git-dashboard-dein-taeglicher-ueberblick-ueber-team-aktivitaeten/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Git-Tipp: So richtest du eine globale `.gitignore`-Datei ein</title>
		<link>https://webmatze.de/git-tipp-so-richtest-du-eine-globale-gitignore-datei-ein/</link>
					<comments>https://webmatze.de/git-tipp-so-richtest-du-eine-globale-gitignore-datei-ein/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Mon, 15 Jul 2024 17:46:25 +0000</pubDate>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[shell]]></category>
		<guid isPermaLink="false">https://webmatze.de/?p=1054</guid>

					<description><![CDATA[Erfahre, wie du deine Git-Konfiguration optimieren kannst, indem du eine globale .gitignore-Datei einrichtest. Spare Zeit und Aufwand, indem du gängige Ignore-Muster einmalig definierst und in all deinen Projekten verwendest. Folge meiner Schritt-für-Schritt-Anleitung und verbessere deinen Git-Workflow effizient und unkompliziert.]]></description>
										<content:encoded><![CDATA[<p>Hallo zusammen!</p>
<p>Heute möchte ich euch einen nützlichen Tipp für eure Git-Konfiguration zeigen: das Einrichten einer globalen <code>.gitignore</code>-Datei. Diese Methode ist super praktisch, wenn ihr bestimmte Dateien oder Dateitypen habt, die ihr in all euren Projekten ignorieren möchtet, ohne die lokale <code>.gitignore</code>-Datei in jedem Repository manuell anzupassen.<br />
Das ist bei mir zum Beispiel dann der Fall, wenn ich lokale Tools nutze, die ihre Konfigurationsdateien im Repository-Verzeichnis ablegen, die ich aber nie einchecken möchte.</p>
<h2>Warum eine globale <code>.gitignore</code>-Datei?</h2>
<p>Eine globale <code>.gitignore</code>-Datei ermöglicht es euch, Ignore-Muster zu definieren, die in allen euren Git-Repositories gelten. Das ist besonders nützlich, wenn ihr häufig mit Dateien arbeitet, die ihr in jedem Projekt ignorieren möchtet, wie z.B. Log-Dateien oder temporäre Dateien.</p>
<h2>Schritt-für-Schritt-Anleitung</h2>
<h3>1. Erstelle die globale <code>.gitignore</code>-Datei</h3>
<p>Zuerst müsst ihr eine globale <code>.gitignore</code>-Datei erstellen. Diese Datei kann irgendwo auf eurem System liegen, aber ein üblicher Ort ist das Home-Verzeichnis. Ihr könnt sie beispielsweise <code>.gitignore_global</code> nennen.</p>
<pre><code class="language-bash">touch ~/.gitignore_global</code></pre>
<h3>2. Füge Muster zur globalen <code>.gitignore</code>-Datei hinzu</h3>
<p>Jetzt könnt ihr die <code>~/.gitignore_global</code>-Datei bearbeiten und die Muster hinzufügen, die ihr global ignorieren möchtet. Dafür könnt ihr jeden beliebigen Texteditor verwenden. Hier ein Beispiel:</p>
<pre><code class="language-bash"># Beispielhafte globale .gitignore-Datei
*.log
*.tmp</code></pre>
<h3>3. Konfiguriere Git, um die globale <code>.gitignore</code>-Datei zu verwenden</h3>
<p>Als nächstes müsst ihr Git mitteilen, dass es diese globale <code>.gitignore</code>-Datei verwenden soll. Dazu verwendet ihr den <code>git config</code> Befehl:</p>
<pre><code class="language-bash">git config --global core.excludesfile ~/.gitignore_global</code></pre>
<h3>4. Überprüfe die Konfiguration</h3>
<p>Um sicherzustellen, dass Git eure globale <code>.gitignore</code>-Datei verwendet, könnt ihr die Konfiguration überprüfen:</p>
<pre><code class="language-bash">git config --get core.excludesfile</code></pre>
<p>Dieser Befehl sollte den Pfad zu eurer globalen <code>.gitignore</code>-Datei ausgeben (z.B. <code>/home/euerbenutzername/.gitignore_global</code>).</p>
<h2>Wie funktioniert das?</h2>
<ul>
<li>Die globale <code>.gitignore</code>-Datei ergänzt die Ignore-Muster, die in der lokalen <code>.gitignore</code>-Datei eures Repositories definiert sind.</li>
<li>Muster, die in der globalen <code>.gitignore</code>-Datei definiert sind, werden in allen euren Git-Repositories ignoriert.</li>
<li>Die lokale <code>.gitignore</code>-Datei in einem spezifischen Repository hat Vorrang vor der globalen Datei. Das bedeutet, dass bei einem Konflikt die Regeln der lokalen <code>.gitignore</code>-Datei angewendet werden.</li>
</ul>
<p>Mit diesen Schritten könnt ihr sowohl globale als auch lokale Ignore-Regeln effektiv in eurem Git-Workflow verwalten.</p>
<p>Ich hoffe, dieser Tipp hilft euch dabei, eure Git-Konfiguration ein bisschen effizienter zu gestalten. Viel Spaß beim Codieren!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/git-tipp-so-richtest-du-eine-globale-gitignore-datei-ein/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Integration eines externen Git Repos in ein Unterverzeichnis mit Erhalt der vollständigen Historie</title>
		<link>https://webmatze.de/merge-external-gem-into-subdirectory-with-full-history/</link>
					<comments>https://webmatze.de/merge-external-gem-into-subdirectory-with-full-history/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Fri, 10 Nov 2023 10:02:09 +0000</pubDate>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[git]]></category>
		<guid isPermaLink="false">https://webmatze.de/?p=1017</guid>

					<description><![CDATA[Wie man ein externes Git Repository in ein Unterverzeichnis eines anderen Repositories merged und dabei die komplette Historie behält.]]></description>
										<content:encoded><![CDATA[<p>Hallo liebe Entwickler-Community!</p>
<p>Heute möchte ich euch eine spannende Sache vorstellen: Wie man ein externes Git Repository in ein Unterverzeichnis eines anderen Repositories merged und dabei die komplette Historie behält. Klingt kompliziert? Keine Sorge, ich zeige euch Schritt für Schritt, wie das geht.</p>
<h3>Schritt 1: Vorbereitung des Ziel-Repositories</h3>
<p>Zuerst müsst ihr euch in den <code>master</code> Branch des Ziel-Repositories begeben:</p>
<pre><code class="language-bash">git checkout master</code></pre>
<p>Dann erstellt ihr einen neuen, leeren Branch. Wir nennen ihn <code>gem-merge</code>:</p>
<pre><code class="language-bash">git checkout --orphan gem-merge</code></pre>
<p><span id="more-1017"></span></p>
<h3>Schritt 2: Bereinigen des neuen Branches</h3>
<p>Im neuen Branch müsst ihr zunächst alle Dateien löschen:</p>
<pre><code class="language-bash">git rm -rf .</code></pre>
<h3>Schritt 3: Hinzufügen des Externen Gems</h3>
<p>Jetzt wird’s spannend. Ihr fügt das externe Gem als neues Remote-Repo hinzu:</p>
<pre><code class="language-bash">git remote add other-gem git@gitlab.com:gems/other-gem.git</code></pre>
<p>Danach merged ihr den <code>master</code> des externen Gems in euren leeren Branch:</p>
<pre><code class="language-bash">git merge other-gem/master</code></pre>
<h3>Schritt 4: Verschieben ins Unterverzeichnis</h3>
<p>Nun verschiebt ihr alle Dateien in das gewünschte Unterverzeichnis. In unserem Beispiel ist es <code>gems/other-gem/</code>:</p>
<pre><code class="language-bash">git mv -k * gems/other-gem/</code></pre>
<p>Anschließend commitet ihr die Änderungen:</p>
<pre><code class="language-bash">git commit -m &amp;quot;Merge other-gem into subdirectory&amp;quot;</code></pre>
<h3>Schritt 5: Rebasing und Mergen</h3>
<p>Jetzt wechselt ihr zurück zum <code>master</code> und erstellt einen neuen Branch für den Merge:</p>
<pre><code class="language-bash">git switch master
git switch -c merge-other-gem</code></pre>
<p>Im letzten Schritt merged ihr die Änderungen mit der Option, nicht verwandte Historien zu erlauben:</p>
<pre><code class="language-bash">git merge --no-ff gem-merge --allow-unrelated-histories</code></pre>
<h3>Fertig!</h3>
<p>Jetzt könnt ihr euren neuen Merge-Request pushen:</p>
<pre><code class="language-bash">git push</code></pre>
<p>Und voilà! Ihr habt erfolgreich ein externes Gem in euer Repository integriert, ohne dessen Historie zu verlieren. Einfach, oder?</p>
<p>Ich hoffe, dieser Beitrag war hilfreich für euch. Lasst mich wissen, falls ihr Fragen habt oder weitere Tipps braucht. Happy coding! ?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/merge-external-gem-into-subdirectory-with-full-history/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
