Ken Muse
Shared Commits and GitHub Checks
It’s not unusual for teams to want to merge the same branch into multiple branches. If they create multiple pull requests from that branch to each of the other branches, they suddenly find that their Checks behave differently than expected and the branches start to share results. Understanding why this happens makes it easy to get Checks to behave as expected.

Read this article

Why You Should (Not) Prefer Monorepos For Git
Monorepos are often seen as the simple solution to complex collaboration and code management problems. Companies like Google and Facebook frequently mention their use of the pattern for their most important codebases, so clearly they have found ways to make these solutions scale to support large teams. What is their secret to being able to successfully use a monorepo, and how do they make it work where so many others fail? More importantly, should you be considering the approach?

Read this article

Dubious Ownership With Static Web Apps
Git’s safe directory configuration helps to protect users, but it can create challenges. This is especially true when using Hugo with Azure Static Web Sites. In that case, you’re dealing with an Action that bind-mounts the source code into a container. This requires some special handling.

Read this article

The Life of a Commit After Git Squash
Git has some interesting behaviors built into it. For example, it makes it easy to squash a set of commits into a single commit. This creates a very simple history. But what happens if that history that you’re eliminating has a tag applied to it? Does that tag get eliminated? Does it point to the newly squashed commit? Today’s article explores what to expect in that situation … and why.

Read this article

Using Git SSH From Docker With a Local Proxy
You’re working in a development container. You need access to a port on the host for a proxy SSH connection to a Git server. Sounds tough, right? Turns out it’s simple.

Read this article

SSH and Multiple Git Credentials
If you need to connect to multiple Git hosts or environments (like EMU and GHEC) with minimal effort, then SSH may provide the options you need to make it painless.

Read this article

Comparing GitHub Commit Signing Options
Trying to understand the options for signing Git commits? Explore the options available for cryptographic signatures and their tradeoffs in today’s post.

Read this article

Marking Workspaces Safe with Dotfiles
There are many ways to automate the process of marking directories as “safe” to avoid the “detected dubious ownership in repository” message. Last week, I discussed how to modify the devcontainer.json. This week, let’s see an alternative using Dotfiles.

Read this article

Avoiding Dubious Ownership in Dev Containers
It’s always best to run containers with the least privileges required. Unfortunately, that may result in Git operations that fail with the message “detected dubious ownership in repository”. The trick to eliminating this is quite simple …

Read this article

Creating a .gitattributes Without Committing
Continuing our examination of ways of influencing Git’s behaviors and settings, today we look at how to utilize a global .gitattributes and how to specify file handling without modifying the repository’s .gitattributes file.

Read this article