<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tools on besserentwickeln.de</title><link>https://besserentwickeln.de/categories/tools/</link><description>Recent content in Tools on besserentwickeln.de</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Philipp Tuchardt</copyright><lastBuildDate>Tue, 15 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://besserentwickeln.de/categories/tools/index.xml" rel="self" type="application/rss+xml"/><item><title>Datei aus dem letzten Commit entfernen, Inhalt aber behalten</title><link>https://besserentwickeln.de/p/datei-aus-dem-letzten-commit-entfernen-inhalt-aber-behalten/</link><pubDate>Tue, 15 Sep 2026 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/p/datei-aus-dem-letzten-commit-entfernen-inhalt-aber-behalten/</guid><description>&lt;p>Man committet und merkt danach, dass eine Datei im Commit gelandet ist, die dort nichts zu suchen hat.
Die Änderung selbst will man aber behalten.&lt;/p>
&lt;h2 id="how-to">How To
&lt;/h2>&lt;p>Die Datei aus dem Commit-Inhalt lösen, ihren aktuellen Inhalt aber behalten:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git restore --source&lt;span class="o">=&lt;/span>HEAD~1 --staged myFile.php
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git commit --amend --no-edit
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>git restore --source=HEAD~1 --staged&lt;/code> setzt die Datei im Index auf den Stand vor dem Commit
zurück. Das Arbeitsverzeichnis bleibt dabei unangetastet. Der Inhalt der Datei geht also nicht
verloren. Das anschließende &lt;code>git commit --amend --no-edit&lt;/code> schreibt den Commit ohne die Datei neu,
die Commit-Message bleibt unverändert.&lt;/p>
&lt;h2 id="ergebnis">Ergebnis
&lt;/h2>&lt;p>Der bisherige Commit wird durch einen neuen Commit ohne die README ersetzt. Die Datei
taucht danach wieder als unstaged Änderung in &lt;code>git status&lt;/code> auf.&lt;/p>
&lt;p>Wichtig: &lt;code>--amend&lt;/code> erzeugt einen neuen Commit-Hash. Wenn der alte Commit bereits gepusht wurde,
braucht es einen Force-Push.&lt;/p>
&lt;h2 id="verifikation">Verifikation
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git show --stat HEAD
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git status -s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>git show --stat HEAD&lt;/code> zeigt, welche Dateien tatsächlich im Commit stecken — die entfernte Datei
darf hier nicht mehr auftauchen. &lt;code>git status -s&lt;/code> zeigt sie dagegen wieder als Änderung im
Arbeitsverzeichnis.&lt;/p></description></item><item><title>Ai Commits in IDEs von Jetbrains</title><link>https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/</link><pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/</guid><description>&lt;p>Seit einiger Zeit nutzte ich die meisten der built-in AI-Features von PhpStorm bzw. allgemein
den IDEs von Jetbrains. Dabei auch die Funktion Commits via AI-Prompt zu erstellen.&lt;/p>
&lt;h2 id="anforderung">Anforderung
&lt;/h2>&lt;p>Da ich mich in Vergangenheit versucht habe die meiste Zeit an die &lt;a class="link" href="https://github.com/angular/angular/blob/main/contributing-docs/commit-message-guidelines.md" target="_blank" rel="noopener"
>angular Git Commit Guidelines
&lt;/a> zu halten, war das auch das
Ziel meines Prompts.&lt;/p>
&lt;h2 id="der-prompt">Der Prompt
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Build the commit message after the following structure:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;lt;type&amp;gt;(&amp;lt;scope&amp;gt;): &amp;lt;short summary&amp;gt;.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Types are: build|ci|docs|feat|fix|perf|refactor|test.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">The scope is the commit scope,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">one word for example &amp;#34;header&amp;#34;.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Use camelCase for the scope if needed.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Summary in present tense.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Not capitalized. No period at the end.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="verwendung-in-phpstorm">Verwendung in PhpStorm
&lt;/h2>&lt;p>Damit der Prompt zum Einsatz kommen kann, fügt ihn an folgender Stelle ein.&lt;/p>
&lt;p>&lt;img src="https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/phpstorm-settings.png"
width="1092"
height="1060"
srcset="https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/phpstorm-settings_hu_99b8ba79c2c873a5.png 480w, https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/phpstorm-settings_hu_102e6943488501f4.png 1024w"
loading="lazy"
alt="Einstellungen"
class="gallery-image"
data-flex-grow="103"
data-flex-basis="247px"
>&lt;/p>
&lt;p>Anschließend müsst ihr nur noch die Files auswählen die ihr commiten wollt und klickt auf den kleinen lila Strudel über
der Box wo eure Commit-Message erscheinen soll&lt;/p>
&lt;p>&lt;img src="https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/generate-commit.png"
width="729"
height="466"
srcset="https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/generate-commit_hu_5ce525bf2cc3f9b3.png 480w, https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/generate-commit_hu_36f95ec728511549.png 1024w"
loading="lazy"
alt="Commit erstellen"
class="gallery-image"
data-flex-grow="156"
data-flex-basis="375px"
>&lt;/p>
&lt;h2 id="resultat">Resultat
&lt;/h2>&lt;p>Eure Commit-Messages sollten nun automatisch nach diesem Schema erstellt werden.&lt;/p>
&lt;p>&lt;img src="https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/result.png"
width="729"
height="466"
srcset="https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/result_hu_a874ff5951501cc0.png 480w, https://besserentwickeln.de/p/ai-commits-in-ides-von-jetbrains/result_hu_bf57da400e4c34eb.png 1024w"
loading="lazy"
alt="Ergebnis"
class="gallery-image"
data-flex-grow="156"
data-flex-basis="375px"
>&lt;/p>
&lt;h2 id="optimierungen">Optimierungen
&lt;/h2>&lt;p>Dieser kleine Guide ist relativ schnell entstanden, ich denke es gibt sicherlich noch mögliche Optimierungen.
Wenn du etwas hast, lass es mich gerne wissen und schreib mir eine Mail an &lt;a class="link" href="mailto:optimierungen@besserentwickeln.de" >optimierungen@besserentwickeln.de&lt;/a>&lt;/p></description></item><item><title>readme.so</title><link>https://besserentwickeln.de/p/readme.so/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/p/readme.so/</guid><description>&lt;p>&lt;strong>README-Erstellung vereinfachen mit readme.so&lt;/strong>&lt;/p>
&lt;p>Eine gut strukturierte und informative README-Datei zu erstellen ist für jedes Projekt essenziell, egal ob es sich um ein Open-Source-Repository, ein persönliches Projekt oder eine Team-Zusammenarbeit handelt. Ein README manuell zu formatieren und zu strukturieren kann jedoch zeitaufwendig und herausfordernd sein, besonders für alle, die mit der Markdown-Syntax nicht vertraut sind. Hier kommt &lt;strong>readme.so&lt;/strong> ins Spiel — ein einfaches, aber leistungsstarkes Tool, das die README-Erstellung schnell und einfach macht.&lt;/p>
&lt;h3 id="was-ist-readmeso">Was ist readme.so?
&lt;/h3>&lt;p>&lt;strong>readme.so&lt;/strong> ist ein intuitiver, webbasierter Editor, mit dem README-Dateien mühelos erstellt und bearbeitet werden können. Er bietet eine übersichtliche Oberfläche mit vordefinierten Abschnitten, die je nach Bedarf hinzugefügt oder entfernt werden können. Das Tool ist besonders nützlich für Entwickler und Projektbetreuer, die ein professionell aussehendes README erstellen möchten, ohne übermäßig viel Zeit mit der Formatierung zu verbringen.&lt;/p>
&lt;h3 id="hauptfunktionen">Hauptfunktionen
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Drag-and-Drop-Oberfläche&lt;/strong>: Abschnitte wie Installation, Nutzung, Contributing, Lizenz und mehr einfach hinzufügen, umsortieren oder entfernen.&lt;/li>
&lt;li>&lt;strong>Markdown-Unterstützung&lt;/strong>: Inhalte direkt in Markdown mit Echtzeit-Vorschau bearbeiten.&lt;/li>
&lt;li>&lt;strong>Vorgefertigte Vorlagen&lt;/strong>: Schnell mit gängigen README-Strukturen starten.&lt;/li>
&lt;li>&lt;strong>Anpassung&lt;/strong>: Überschriften, Beschreibungen und Anweisungen an die Bedürfnisse des Projekts anpassen.&lt;/li>
&lt;li>&lt;strong>Export mit einem Klick&lt;/strong>: Die README-Datei sofort im Markdown-Format herunterladen.&lt;/li>
&lt;/ul>
&lt;h3 id="warum-readmeso-verwenden">Warum readme.so verwenden?
&lt;/h3>&lt;ol>
&lt;li>&lt;strong>Zeitersparnis&lt;/strong> – Statt eine README-Datei manuell zu strukturieren und zu formatieren, können die vorgefertigten Abschnitte genutzt werden, um schnell Inhalte zu erzeugen.&lt;/li>
&lt;li>&lt;strong>Anfängerfreundlich&lt;/strong> – Es sind keine Markdown-Vorkenntnisse nötig, wodurch das Tool für alle zugänglich ist.&lt;/li>
&lt;li>&lt;strong>Bessere Dokumentation&lt;/strong> – Eine gut strukturierte README verbessert die Nutzererfahrung und hilft anderen, das Projekt besser zu verstehen.&lt;/li>
&lt;li>&lt;strong>Kostenlos&lt;/strong> – Das Tool ist völlig kostenlos und erfordert keine Anmeldung.&lt;/li>
&lt;/ol>
&lt;h3 id="erste-schritte">Erste Schritte
&lt;/h3>&lt;ol>
&lt;li>&lt;a class="link" href="https://readme.so/" target="_blank" rel="noopener"
>readme.so&lt;/a> besuchen.&lt;/li>
&lt;li>Abschnitte für das README auswählen.&lt;/li>
&lt;li>Die Inhalte direkt im Editor bearbeiten.&lt;/li>
&lt;li>Die Änderungen in Echtzeit als Vorschau ansehen.&lt;/li>
&lt;li>Die README-Datei exportieren und speichern.&lt;/li>
&lt;/ol>
&lt;h3 id="fazit">Fazit
&lt;/h3>&lt;p>Ein gut geschriebenes README ist für jedes Projekt entscheidend, und &lt;strong>readme.so&lt;/strong> macht diesen Prozess einfacher als je zuvor. Egal ob erfahrener Entwickler oder Anfänger — dieses Tool hilft dabei, in wenigen Minuten eine professionelle, gut strukturierte Dokumentation zu erstellen. Einfach mal ausprobieren und die Projektdokumentation optimieren!&lt;/p>
&lt;p>Hast du readme.so schon einmal genutzt? Teile deine Erfahrung in den Kommentaren!&lt;/p></description></item><item><title>Gute Regex-Testseite</title><link>https://besserentwickeln.de/n/gute-regex-testseite/</link><pubDate>Wed, 31 Mar 2021 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/n/gute-regex-testseite/</guid><description>&lt;p>Mir persönlich gefällt &lt;a class="link" href="https://regexr.com/" target="_blank" rel="noopener"
>Regexr&lt;/a>&lt;/p></description></item></channel></rss>