All Stories

Git 101: objects

The key part of a Git repo is a key-value data store where each object has its own hash value. Git objects can be found under .git/objects directory. Two noticeably subdirectories whe...

In Git, Nov 05, 2022

Git error: There are too many unreachable loose objects

Here I want to share a solution to the following Git error: There are too many unreachable loose objects. This usually happens when Git cannot cleanup all dangling commits as they are...

In Git, Nov 04, 2022

Install Mbstring on Amazon Linux 2

As a PHP extension, Mbstring can be required for some application functionalities as a dependency. Let’s see how to install mbstring on Amazon Linux 2.

In Mbstring, AWS, Amazon Linux 2, Nov 03, 2022

Git 101: loose vs dangling vs unreachable objects

You can find Git project objects under .git/objects. When dealing with managing objects using git fsck and git gc commands, you might stumble upon the following types of “failed” obje...

In Git, Nov 03, 2022

Git 101: git stash

Git stash simply saves your staged and unstaged changes (uncommitted though) for a later use, so you could checkout another working directory, or even continue your work in the same w...

In Git, Nov 02, 2022

Install gcc on Amazon Linux 2

While compiling or running C based code on Amazon Linux 2 you might face the following issue: gcc: command not found. That means that you don’t have GCC package installed which is use...

In gcc, AWS, Amazon Linux 2, Nov 01, 2022

Git: monorepo vs multirepo vs submodules

Usually when we think about Git repos we are assuming the multirepo type where each project or microservice has its own repository. The other two types of repos being monorepo and Git...

In Git, Nov 01, 2022

About Git repos size

The maximum Git repo size limit is debatable and depends on Git hosting platforms after all. A good example of a large repo size, would be monorepos. A monorepo is a singular reposito...

In Git, Oct 31, 2022

Git 101: tags

Git tags is a Git feature that allows us to tag certain commits. Basically, it’s a Git ref that points to and labels commits wherefrom we want to release our software. You can think o...

In Git, Oct 30, 2022

Fix CloudFormation Error: 'The provided target group has target type instance, which is incompatible with the awsvpc network mode specified in the task definition'

Recently I needed to create a Network Load Balancer through CF and while creating the target group I stumbled upon this error: The provided target group has target type instance, whic...

In CloudFormation, AWS, Amazon Linux 2, Oct 30, 2022