<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Git on Omar H.Ajmi | Python, Java, Terraform &amp; DevOps TILs</title>
    <link>https://omar-ajmi.de5.net/tags/git/</link>
    <description>Recent content in Git on Omar H.Ajmi | Python, Java, Terraform &amp; DevOps TILs</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Thu, 17 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://omar-ajmi.de5.net/tags/git/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>🧳 Git stash: I said everything!</title>
      <link>https://omar-ajmi.de5.net/posts/en/git-stash/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>https://omar-ajmi.de5.net/posts/en/git-stash/</guid>
      <description>&lt;h1 id=&#34;-git-stash-i-said-everything&#34; class=&#34;header-anchor-wrapper&#34;&gt;🧳 Git stash: &amp;ldquo;I said everything!&amp;rdquo;
  &lt;a href=&#34;#-git-stash-i-said-everything&#34; class=&#34;header-anchor-link&#34;&gt;
    &lt;svg width=&#34;16px&#34; height=&#34;16px&#34; viewBox=&#34;0 0 24 24&#34;&gt;
&lt;svg
    xmlns=&#34;http://www.w3.org/2000/svg&#34;
    width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34;
    stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34;
    stroke-linejoin=&#34;round&#34;&gt;
    &lt;line x1=&#34;4&#34; y1=&#34;9&#34; x2=&#34;20&#34; y2=&#34;9&#34;&gt;&lt;/line&gt;&lt;line x1=&#34;4&#34; y1=&#34;15&#34; x2=&#34;20&#34; y2=&#34;15&#34;&gt;&lt;/line&gt;&lt;line x1=&#34;10&#34; y1=&#34;3&#34; x2=&#34;8&#34; y2=&#34;21&#34;&gt;&lt;/line&gt;&lt;line x1=&#34;16&#34; y1=&#34;3&#34; x2=&#34;14&#34; y2=&#34;21&#34;&gt;&lt;/line&gt;
&lt;/svg&gt;

&lt;/svg&gt;
  &lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;You have to switch branches. You run &lt;code&gt;git stash&lt;/code&gt;, expecting a pristine working tree.&lt;/p&gt;
&lt;p&gt;Your edited files disappear. Your brand-new file stays right where it is, staring at you.&lt;/p&gt;
&lt;p&gt;Git isn&amp;rsquo;t being passive-aggressive. You just didn&amp;rsquo;t ask it to stash untracked files.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>🔐 Git: Force-Push With a Lease, Not a Crowbar</title>
      <link>https://omar-ajmi.de5.net/posts/en/git-force-with-lease/</link>
      <pubDate>Tue, 13 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://omar-ajmi.de5.net/posts/en/git-force-with-lease/</guid>
      <description>&lt;h1 id=&#34;-git-force-push-with-a-lease-not-a-crowbar&#34; class=&#34;header-anchor-wrapper&#34;&gt;🔐 Git: Force-Push With a Lease, Not a Crowbar
  &lt;a href=&#34;#-git-force-push-with-a-lease-not-a-crowbar&#34; class=&#34;header-anchor-link&#34;&gt;
    &lt;svg width=&#34;16px&#34; height=&#34;16px&#34; viewBox=&#34;0 0 24 24&#34;&gt;
&lt;svg
    xmlns=&#34;http://www.w3.org/2000/svg&#34;
    width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34;
    stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34;
    stroke-linejoin=&#34;round&#34;&gt;
    &lt;line x1=&#34;4&#34; y1=&#34;9&#34; x2=&#34;20&#34; y2=&#34;9&#34;&gt;&lt;/line&gt;&lt;line x1=&#34;4&#34; y1=&#34;15&#34; x2=&#34;20&#34; y2=&#34;15&#34;&gt;&lt;/line&gt;&lt;line x1=&#34;10&#34; y1=&#34;3&#34; x2=&#34;8&#34; y2=&#34;21&#34;&gt;&lt;/line&gt;&lt;line x1=&#34;16&#34; y1=&#34;3&#34; x2=&#34;14&#34; y2=&#34;21&#34;&gt;&lt;/line&gt;
&lt;/svg&gt;

&lt;/svg&gt;
  &lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;You rebased your feature branch. Git refuses your push because history diverged. So you type &lt;code&gt;git push --force&lt;/code&gt;, close your eyes and hope.&lt;/p&gt;
&lt;p&gt;If a teammate pushed to that branch in the meantime, their commit is gone. Git has a politer option.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>