{ "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": "\n
I've been a Git user since my first full-time Developer position in 2010.<\/p>\n\n
I've used other version control systems, too, early in my career, but I settled on Git and haven't looked back.<\/p>\n\n
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.<\/p>\n\n
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.<\/p>\n\n
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.<\/p>\n\n
It's easier to solve problems if you understand the tool itself.<\/p>\n\n
What if I had a favourite Git GUI that became no longer supported or maintained?<\/p>\n\n
Would any time spent learning that GUI have been wasted?<\/p>\n\n
This was also a reason why I switched to using Docker and Docker Compose instead of pre-built wrappers.<\/p>\n\n
I want to better understand and be efficient with the underlying tool, not only someone else's implementation of it.<\/p>\n\n ", "format": "full_html", "processed": "\n
I've been a Git user since my first full-time Developer position in 2010.<\/p>\n\n
I've used other version control systems, too, early in my career, but I settled on Git and haven't looked back.<\/p>\n\n
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.<\/p>\n\n
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.<\/p>\n\n
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.<\/p>\n\n
It's easier to solve problems if you understand the tool itself.<\/p>\n\n
What if I had a favourite Git GUI that became no longer supported or maintained?<\/p>\n\n
Would any time spent learning that GUI have been wasted?<\/p>\n\n
This was also a reason why I switched to using Docker and Docker Compose instead of pre-built wrappers.<\/p>\n\n
I want to better understand and be efficient with the underlying tool, not only someone else's implementation of it.<\/p>\n\n ", "summary": null } ] }