| Ko

Temporarily Saving Changes with Git Stash

Concept and History of Git Stash Git stash is a feature first introduced in Git version 1.5.3 in 2007. It provides a mechanism to save changes in the Working Directory (modified tracked files and staged changes) to a stack-based temporary storage without committing, allowing restoration later. This feature is useful when you need to urgently switch to another branch while working, or when you need to fetch changes from a remote repository but your current work is not ready for a commit. ...

July 26, 2024 · 5 min · 934 words · In-Jun

Git Branch Naming Conventions

History and Importance of Branch Naming Git branch naming conventions began to be systematized when Vincent Driessen introduced Git Flow in his 2010 blog post “A successful Git branching model.” Since then, various branching strategies emerged including GitHub Flow (2011) and GitLab Flow (2014), establishing prefix-based naming conventions like feature/, bugfix/, hotfix/, and release/ as industry standards. Consistent branch naming improves project readability, facilitates CI/CD pipeline automation, and significantly enhances the efficiency of code reviews and task tracking. ...

July 23, 2024 · 4 min · 741 words · In-Jun

Git Commit Management and Clean History

History and Importance of Commit Management Git’s commit management features were one of the core design principles when Linus Torvalds developed Git in 2005. The rebase feature existed from Git’s early versions, and when interactive rebase was introduced in Git 1.5 in 2007, it became a powerful tool for fine-grained editing of commit history. Commit history management is important because the Git log serves as documentation of a project’s change history. A well-organized history enables understanding of a project’s evolution through git log alone, allows clear comprehension of each commit’s intent when tracking bugs with git bisect, and helps new team members quickly grasp the codebase’s history when joining a project. ...

July 13, 2024 · 6 min · 1195 words · In-Jun

Effective Commit Message Writing Rules

History and Importance of Commit Messages Systematic guidelines for writing commit messages became widely known in 2008 when Tim Pope proposed the 50/72 rule (50-character subject, 72-character body line wrap) in his blog post “A Note About Git Commit Messages.” In 2014, the commit message convention developed by the Angular team for the AngularJS project gained industry attention. In 2017, Conventional Commits 1.0.0 was released based on this foundation, and it has since become the most widely used standard in open source projects. ...

July 12, 2024 · 7 min · 1280 words · In-Jun

How to Delete Merged Git Branches

In Git, a branch is a core concept that provides an independent workspace, allowing developers to develop new features or fix bugs without affecting the main codebase. This branch-based workflow has been one of the key design philosophies since Linus Torvalds designed Git in 2005, which is also why Git branches are designed to be much lighter and faster than other version control systems like SVN or CVS. However, deleting branches after merging is just as important as creating them in the first place. This article comprehensively covers the necessity of branch deletion, specific methods, automation, and recovery procedures. ...

July 11, 2024 · 18 min · 3773 words · In-Jun

Git Branching Strategies Git Flow and GitHub Flow

History and Background of Branching Strategies The systematization of Git branching strategies began on January 5, 2010, when Dutch developer Vincent Driessen published his blog post “A successful Git branching model.” The Git Flow introduced in this article resonated strongly in software development environments that required systematic release management at the time. In 2011, GitHub’s Scott Chacon proposed a simpler model called GitHub Flow. Then in 2014, GitLab announced GitLab Flow, combining the advantages of both strategies. All three strategies continue to be widely used today depending on project characteristics. ...

July 10, 2024 · 7 min · 1296 words · In-Jun

Git From Basics to Advanced Features

History and Origins of Git Git is a Distributed Version Control System (DVCS) developed by Linus Torvalds, the creator of the Linux kernel, in 2005. The development was triggered when the free license for BitKeeper, the commercial DVCS used for Linux kernel development at the time, was revoked. Torvalds needed an alternative and developed a new system in just two weeks that overcame the shortcomings of existing version control systems (slow speed, inefficient branching) while supporting fast operation even on large-scale projects and fully distributed environments. The first version was released on April 7, 2005. ...

July 8, 2024 · 7 min · 1390 words · In-Jun

Adjusting Git Commit Timestamps

Structure of Git Timestamps Git’s timestamp system was designed to record two separate times from when Linus Torvalds designed Git in 2005. This was because in Linux kernel development, the time a patch was written and the time it was actually committed could differ. AuthorDate and CommitDate Git commits have two timestamps. AuthorDate represents when the code was first written, meaning when the original author made the change. It is set via the git commit --date option or the GIT_AUTHOR_DATE environment variable. ...

May 25, 2024 · 5 min · 949 words · In-Jun
[email protected]