<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Git - Tag - Dimas Maulana</title>
    <link>https://dimasmaulana.pages.dev/tags/git/</link>
    <description>Dimas Maulana Website</description>
    <generator>Hugo 0.150.0 &amp; FixIt v0.4.3-20260130042349-e23a50d7</generator>
    <language>en</language>
    <lastBuildDate>Thu, 08 Jun 2023 17:06:00 +0700</lastBuildDate>
    <atom:link href="https://dimasmaulana.pages.dev/tags/git/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Best Practices for Git Branch Naming Convention</title>
      <link>https://dimasmaulana.pages.dev/posts/development/best-practices-for-git-branch-naming-convention/</link>
      <pubDate>Thu, 08 Jun 2023 17:06:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/best-practices-for-git-branch-naming-convention/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In the world of software development, Git has become the go-to version control system for managing projects effectively. One aspect that greatly contributes to a streamlined development process is adopting a consistent and meaningful branch naming convention. In this article, we will delve into the best practices for Git branch naming, empowering teams to organize their work and collaborate efficiently.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Branch Type&lt;/th&gt;&#xA;          &lt;th&gt;Branch Name Examples&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;develop&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;develop&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;main&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;main&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;feature&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;feature/user-authentication&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;feature/shopping-cart&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;feature/payment-integration&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;bugfix&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;bugfix/fix-login-issue&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;bugfix/1234&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;bugfix/calculate-total-error&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;release&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;release/1.0.0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;release/alpha&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;release/beta&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;hotfix&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;hotfix/critical-bug&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;hotfix/4321&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;hotfix/typo-correction&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-develop-a-develop-branch&#34;&gt;&lt;span&gt;1. Develop a &lt;code&gt;develop&lt;/code&gt; Branch&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-develop-a-develop-branch&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To foster ongoing development work, establish a dedicated branch named &lt;code&gt;develop&lt;/code&gt;. This branch serves as the main staging area for integrating and testing new features before they are ready for production. By using this common convention, developers can easily identify where ongoing development work takes place.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions for Production Environments</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-production-environments-/</link>
      <pubDate>Tue, 06 Jun 2023 06:47:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-production-environments-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions are a crucial aspect of software development, providing consistency and clarity in various stages of the development lifecycle. In this article, we will explore the most common naming conventions for production environments, focusing on GitLab CI/CD, GitHub Actions, domain names, branch names, Docker Compose files, and Dockerfile names.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;prod&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;prod&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;main/master&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;gitlab-cicd-convention&#34;&gt;&lt;span&gt;GitLab CI/CD Convention&lt;/span&gt;&#xA;  &lt;a href=&#34;#gitlab-cicd-convention&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In GitLab CI/CD, the convention for naming pipeline stages in production environments commonly involves using &amp;ldquo;prod&amp;rdquo; as the keyword. This convention ensures that pipeline stages are easily identifiable and aligned with the production deployment process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions for Development Environments</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-development-environments-/</link>
      <pubDate>Tue, 06 Jun 2023 06:45:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-development-environments-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions play a vital role in software development environments, providing consistency and clarity throughout the development process. In this article, we will explore the most common naming conventions for development environments, covering GitLab CI/CD, GitHub Actions, domain names, branch names, Docker Compose files, and Dockerfile names.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;dev.example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.dev.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile.dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;gitlab-cicd-convention&#34;&gt;&lt;span&gt;GitLab CI/CD Convention&lt;/span&gt;&#xA;  &lt;a href=&#34;#gitlab-cicd-convention&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When working with GitLab CI/CD, the most common convention for naming pipeline stages in development environments is to use &amp;ldquo;dev&amp;rdquo; as the keyword. This convention ensures compatibility and alignment with GitLab CI/CD&amp;rsquo;s pipeline system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions Stage vs Staging in Software Development</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-stage-vs-staging-in-software-development/</link>
      <pubDate>Tue, 06 Jun 2023 06:24:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-stage-vs-staging-in-software-development/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions play a crucial role in software development, providing clarity and consistency in various aspects of the development lifecycle. When it comes to naming environments, such as staging, development, and production, there can be variations and debates around the usage of &amp;ldquo;stage&amp;rdquo; and &amp;ldquo;staging.&amp;rdquo; In this article, we&amp;rsquo;ll explore the differences and common practices surrounding these terms.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;defining-staging-and-development-environments&#34;&gt;&lt;span&gt;Defining Staging and Development Environments&lt;/span&gt;&#xA;  &lt;a href=&#34;#defining-staging-and-development-environments&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;stage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;staging.example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.staging.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile.staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Staging environments are integral to the software development process, serving as a dedicated space for testing and validation before deploying to production. In most cases, &amp;ldquo;staging&amp;rdquo; is commonly used as a noun to represent this environment. It refers to a stable and controlled testing area where developers can ensure their applications are functioning correctly and meet the required standards.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clone Multiple Github Repositories With Different Deployment Keys But The Same Username</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/clone-multiple-github-repositories-with-different-deployment-keys-but-the-same-username-copy/</link>
      <pubDate>Fri, 05 May 2023 08:20:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/clone-multiple-github-repositories-with-different-deployment-keys-but-the-same-username-copy/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Cloning multiple GitHub repositories with different deployment keys can be useful when you need to access multiple repositories using different SSH keys associated with the same GitHub account. This guide provides step-by-step instructions on how to clone multiple repositories with different deployment keys while using the same username. By following these steps, you can streamline your workflow and manage multiple repositories more efficiently.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-generate-deployment-keys&#34;&gt;&lt;span&gt;Step 1: Generate Deployment Keys&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-generate-deployment-keys&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, generate a deployment key for each repository you want to clone. Use the &lt;code&gt;ssh-keygen&lt;/code&gt; command on your local machine to create a unique key for each repository.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Git Commit Not Replacing Folder with Changed Case on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-git-commit-not-replacing-folder-with-changed-case-on-mac/</link>
      <pubDate>Wed, 19 Apr 2023 08:27:26 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-git-commit-not-replacing-folder-with-changed-case-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re working on a Mac and using Git, you might run into an issue where Git won&amp;rsquo;t replace a folder that has had a change in case. For example, if you have a folder called &amp;ldquo;Article&amp;rdquo; and you change it to &amp;ldquo;article&amp;rdquo;, Git might not recognize the change and won&amp;rsquo;t replace the old folder with the new one.&lt;/p&gt;&#xA;&lt;p&gt;Fortunately, there is a solution to this problem. You can configure Git to not ignore case sensitivity by running the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Rename Author on All Commits in Git</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-rename-author-on-all-commits-in-git/</link>
      <pubDate>Fri, 22 Apr 2022 05:36:06 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-rename-author-on-all-commits-in-git/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Git, there may be situations where you need to update or correct author information on all commits, such as changing email addresses or fixing incorrect names. This guide will explain how to rename authors on all commits using the git-filter-repo tool.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;requirements&#34;&gt;&lt;span&gt;Requirements&lt;/span&gt;&#xA;  &lt;a href=&#34;#requirements&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;git-filter-repo: You can install it from the official repository at &lt;a href=&#34;https://github.com/newren/git-filter-repo&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;https://github.com/newren/git-filter-repo&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;procedure&#34;&gt;&lt;span&gt;Procedure&lt;/span&gt;&#xA;  &lt;a href=&#34;#procedure&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-create-a-mailmap-file&#34;&gt;&lt;span&gt;Step 1: Create a .mailmap File&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-create-a-mailmap-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Create a file named &lt;code&gt;.mailmap&lt;/code&gt; in the root directory of your Git repository. This file will map the old author information to the new author information. The correct format for each entry is as follows:&lt;/p&gt;</description>
    </item>
    <item>
      <title>GIT Commit Message Naming</title>
      <link>https://dimasmaulana.pages.dev/posts/development/git-commit-message-naming/</link>
      <pubDate>Fri, 01 Apr 2022 04:51:17 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/git-commit-message-naming/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;A well-structured commit message is crucial for maintaining a clean and readable project history. The Conventional Commits specification provides a standard format for commit messages, making it easier to generate changelogs, automate versioning, and improve collaboration. This document outlines the naming conventions and structure for Git commit messages.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git Gitlab Flow</title>
      <link>https://dimasmaulana.pages.dev/posts/development/git-gitlab-flow/</link>
      <pubDate>Mon, 28 Mar 2022 06:17:30 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/git-gitlab-flow/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;GitLab Flow is a set of best practices for using Git with GitLab, combining elements of Git Flow and GitHub Flow to support various workflows. It emphasizes the use of feature branches for development, with integration to GitLab’s CI/CD pipeline for continuous testing and deployment.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;production-branch&#34;&gt;&lt;span&gt;Production Branch&lt;/span&gt;&#xA;  &lt;a href=&#34;#production-branch&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;flowchart TB&#xA;a--&amp;gt;b--&amp;gt;c--&amp;gt;d--&amp;gt;e&#xA;f--&amp;gt;g&#xA;c--deployment--&amp;gt;g&#xA;g--&amp;gt;h&#xA;a[development]&#xA;b[development]&#xA;c[development]&#xA;d[development]&#xA;e[development]&#xA;f[production]&#xA;g[production]&#xA;h[production]&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;environtment-branches&#34;&gt;&lt;span&gt;Environtment Branches&lt;/span&gt;&#xA;  &lt;a href=&#34;#environtment-branches&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;flowchart LR&#xA;a--&amp;gt;b--&amp;gt;c--&amp;gt;d&#xA;e--&amp;gt;f--&amp;gt;g--&amp;gt;h&#xA;i--&amp;gt;j--&amp;gt;k&#xA;a--deploy to\npre-prod--&amp;gt;e&#xA;c--deploy to\npre-prod--&amp;gt;g&#xA;e--production\ndeployment--&amp;gt;j&#xA;a[staging]&#xA;b[staging]&#xA;c[staging]&#xA;d[staging]&#xA;e[pre-prod]&#xA;f[pre-prod]&#xA;g[pre-prod]&#xA;h[pre-prod]&#xA;i[production]&#xA;j[production]&#xA;k[production]&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;release-branches&#34;&gt;&lt;span&gt;Release Branches&lt;/span&gt;&#xA;  &lt;a href=&#34;#release-branches&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;flowchart LR&#xA;a--&amp;gt;b--&amp;gt;c--&amp;gt;d--&amp;gt;e&#xA;a--&amp;gt;f--&amp;gt;g&#xA;c-.-chery-pick-.-&amp;gt;g&#xA;d--&amp;gt;i&#xA;a[main]&#xA;b[main]&#xA;c[main]&#xA;d[main]&#xA;e[main]&#xA;f[2.3-stable]&#xA;g[2.3-stable]&#xA;i[2.4-stable]&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Git Repository Naming</title>
      <link>https://dimasmaulana.pages.dev/posts/development/git-repository-naming/</link>
      <pubDate>Thu, 17 Feb 2022 05:48:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/git-repository-naming/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;This article explores best practices for naming Git repositories, ensuring clarity, consistency, and maintainability. It covers key considerations such as readability, versioning, project scope, and collaboration standards to help developers create effective repository names.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;microservices&#34;&gt;&lt;span&gt;Microservices&lt;/span&gt;&#xA;  &lt;a href=&#34;#microservices&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Better suited to a project team or department where multiple products exist and are made up of sub-components.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Merging Git Without History and Resolving Conflicts Using Theirs</title>
      <link>https://dimasmaulana.pages.dev/posts/development/merging-git-without-history-and-resolving-conflicts-using-theirs/</link>
      <pubDate>Thu, 29 Nov 2012 08:38:39 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/merging-git-without-history-and-resolving-conflicts-using-theirs/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When merging Git branches, it is sometimes desirable to combine the changes from one branch into another without preserving the commit history of the merged branch. Additionally, conflicts may arise during the merge process that need to be resolved using the &amp;ldquo;theirs&amp;rdquo; strategy, which means accepting the changes from the branch being merged in.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a step-by-step guide on how to perform such a merge:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-perform-the-merge-with-squash&#34;&gt;&lt;span&gt;Step 1: Perform the Merge with Squash&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-perform-the-merge-with-squash&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To merge the changes from one branch into another without preserving the commit history, you can use the &lt;code&gt;--squash&lt;/code&gt; option with the &lt;code&gt;git merge&lt;/code&gt; command. The &lt;code&gt;--squash&lt;/code&gt; option condenses all the commits from the merged branch into a single commit in the target branch.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
