So You Think You Know Git - FOSDEM 2024 - GitButler

How many git commands exist?

There are about 145 git commands that you can type.

What is the purpose of the 'include if' directive in git config?

The 'include if' directive in git config allows you to set up a third place to look for configuration values, in between the local and global config files.

What does the 'git blame' command do?

The 'git blame' command shows the commit history for each line in a file, indicating who last modified each line.

What is the new option in git branch command called?

The new option in git branch command is called 'D-column'.

What is the purpose of the 'force with lease' option in git?

The 'force with lease' option in git checks to see what it thought the reference was and if it doesn't match, it won't push it. It's a safe way to force push when you've rebased or amended your commits.

What is the new feature in SSH that allows signing of git commits?

As of a couple of years ago, OpenSSH released a feature that allows signing of arbitrary data, which has been incorporated in git. This allows users to sign their git commits using SSH instead of gpg.

What is the difference in time between a blame from Linux on a full checkout and a blob blame?

The difference is 4 seconds for a blame from Linux on a full checkout and 45 seconds for a blob blame.

What is sparse checkout in Git?

Sparse checkout in Git is a feature that allows you to clone a repository with no checkout, and then specify the directories you want to work with. This can make working with large repositories much easier, as it allows you to only check out the data you need.

What is the purpose of the 'allowed merge types' feature in GitHub?

The 'allowed merge types' feature in GitHub allows you to specify the type of merge commits that are allowed in your repository. This can be useful for enforcing a consistent workflow among your team members.