uuid: - value: 6d87c24a-6453-48fd-9921-cede6b1b0001 langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:16+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: "Why I don't use a GUI for Git" created: - value: '2024-03-24T00:00:00+00:00' changed: - value: '2025-05-11T09:00:16+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2024/03/24/why-i-dont-use-a-gui-for-git langcode: en body: - value: |

I've been a Git user since my first full-time Developer position in 2010.

I've used other version control systems, too, early in my career, but I settled on Git and haven't looked back.

I've used GUI tools for Git, such as Sourcetree and GitHub Desktop, but I prefer to use Git on the command line instead of a GUI or TUI.

As a Developer who uses a command-line-focused workflow and works mainly in a terminal, there is less context switching, but I want to focus on learning the tool itself rather than a wrapper around it.

Some GUIs add their own terminology or functionality, making it difficult for people to debug something on the command line if they experience an issue.

It's easier to solve problems if you understand the tool itself.

What if I had a favourite Git GUI that became no longer supported or maintained?

Would any time spent learning that GUI have been wasted?

This was also a reason why I switched to using Docker and Docker Compose instead of pre-built wrappers.

I want to better understand and be efficient with the underlying tool, not only someone else's implementation of it.

format: full_html processed: |

I've been a Git user since my first full-time Developer position in 2010.

I've used other version control systems, too, early in my career, but I settled on Git and haven't looked back.

I've used GUI tools for Git, such as Sourcetree and GitHub Desktop, but I prefer to use Git on the command line instead of a GUI or TUI.

As a Developer who uses a command-line-focused workflow and works mainly in a terminal, there is less context switching, but I want to focus on learning the tool itself rather than a wrapper around it.

Some GUIs add their own terminology or functionality, making it difficult for people to debug something on the command line if they experience an issue.

It's easier to solve problems if you understand the tool itself.

What if I had a favourite Git GUI that became no longer supported or maintained?

Would any time spent learning that GUI have been wasted?

This was also a reason why I switched to using Docker and Docker Compose instead of pre-built wrappers.

I want to better understand and be efficient with the underlying tool, not only someone else's implementation of it.

summary: null field_daily_email_cta: { }