Blog Posts with Tag GIT

GIT Branching: Branch by Abstraction

Many branching strategies work to split up work into smaller pieces that are regularly integrated into a mainline branch. However, often time it is difficult to do this with much larger tasks. I want to highlight a common software development strategy used to overcome this: Branching by Abstraction. What is Branching by Abstraction? When modifying an area of the system, a contract is introduced which encapsulates the public interface of some functionality to change. Once the…

April 07, 2023
approximately 3 minutes to read
GIT: Branching Strategies

In the past, I have written several posts about GIT on my blog. Specifically, I want to reflect on the lessons I have learned while trying to determine the appropriate branching strategy for various projects. Over the years, I have had to make this decision numerous times and realized that documenting my experiences would help me better organize my thoughts. In this blog post, I plan to highlight a few of the main branching strategies I have utilized in the past, along with…

March 26, 2023
approximately 8 minutes to read
Demystifying GIT: Merge Commits as GIT Objects

Up to this point, we've covered the internal object structure of GIT and the basics of how branches work and how GIT internally tracks branches. I wanted to highlight merging specifically to show how commit objects change based on the different merge types. Merging in GIT Merging in GIT is the act of combining two or more commits together. There are a few common ways this happens. The fast-forward merge, a traditional merge, and a squash merge. Fast Forward Merge In my…

October 21, 2022
approximately 7 minutes to read
Demystifying GIT: Branching

Branching in source control is crucial to building software, and understanding how branching works in GIT can make it much easier to use. Branching is a concept in GIT that differs drastically from traditional source control providers. In my previous post, I discussed the internal structure of GIT commits. In this post, I'm going to talk about branching and how it relates to those commits. Review As we had seen in my previous post on GIT storage, a commit is a snapshot of…

October 13, 2022
approximately 6 minutes to read
Demystifying GIT: An Overview of How Git Stores Files

I really like GIT. I've been using it in some form for the past 10 years. First to keep personal projects, and later at work. In stack overflow surveys of developer, GIT it consistently ranks high in usage with 90%+ of surveyed developer utilization using it in the last survey. Considering the segmentation of developer languages and tools, there are not many tools with that much adoption. I want to take a look through the internals of how it stores information underneath a…

October 07, 2022
approximately 11 minutes to read
© 2024 - Built and designed by Jeremy Honl with Gatsby. Images are from Unsplash