this post was submitted on 20 Jun 2023
43 points (100.0% liked)

Programming

13376 readers
2 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

I ask because I like console, but at the same time have difficulties remembering all the commands. I'd like to try a GUI that is comfortable to use with only a keyboard.
[edit]
My inbox got fediversized, fantastic feeling.

(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

If you have trouble remembering git commands for CLI have a look at the tool tldr:

https://man.archlinux.org/man/tldr.1.en

For example if you need to remember how to use the branch command you could look it up with

tldr git branch

which would give you an overview on the most popular use cases.

And in case you don't already know: You may want to use the history search tool of your shell by hitting CTRL-r and then for example typing branch. You'd get a list of past commands you have used containing branch that you can flip through by repeatedly hitting CTRL-r.

[–] [email protected] 2 points 1 year ago (1 children)

I've tried a lot and settled with vim-fugitive. If you know and like Vim-keybindings it's probably the best choice out there.

[–] [email protected] 1 points 1 year ago

You made me curious, I'll have to try it

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

I use various extensions for Visual Studio Code. They add a million features, but these are the ones I find most useful:

I prefer to view the current status of my checkout in the sidebar of my code editor than on the command line.

It's easier to view a diff of a file and decide whether to stage or rollback changes in a GUI. With most GUIs you can even select individual lines of code and revert or stage them.

I like how Commit and Push and Pull are a single "Commit & Sync" button in Visual Studio code. Similarly there's a simple "Sync" button in the status bar.

Speaking of the status bar - it also has a counter for commits that need to be pushed or pulled. And it tells you what branch you're currently on. And whether you have uncommitted changes. Handy.

I find the GUI equivalent of git log --graph is significantly easier to understand when the graph is drawn with nice vector lines instead of ASCII art.

Finally - I don't just use raw git, I also use extensions like pull requests, and I create branches for issue numbers. I have an extension that shows pull requests in Visual Studio Code and also shows issues assigned to me, with a one click "Start Working" button to create a branch named after the issue and change the issue status to In Progress.

[–] [email protected] 2 points 1 year ago

Would it work for you if you created git aliases for commands you can't remember?

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

I use git fork on Mac, same reason, I don't remember all the commands. Also want to see the history visualization

[–] [email protected] 1 points 1 year ago

Seconded. Easily the best UI in my opinion. I usually commit through IntelliJ and use fork for everything else.

[–] [email protected] 2 points 1 year ago

I generally don't trust most git GUIs - a number of our developers have used SourceTree on OS X before and it's led to nothing but issues. The only one I trust is the one built into IntelliJ IDEA, otherwise I'll use commandline.

[–] [email protected] 2 points 1 year ago

Developing in a Windows environment, I generally prefer Git Extensions.
It doesn't distract the eye with unneeded fancy and is very close to a command line git experience but still allows me a better visual sense of the repository and branches.

[–] [email protected] 2 points 1 year ago

I don't use a GUI, with the exception of Meld as my primary difftool

At work I wish they were using git. But we got SVN. How I long for the ability to use pull requests. But tortoiseSVN has some nice features (I'm stuck with windows over there) even if it's lacking in overall functionality.

[–] [email protected] 2 points 1 year ago (1 children)

I use sublime merge because I really like ST and want to further support the dev. I wish it had more integrations with github (and theoretically github alternatives), but I understand the reasoning not to. Before SM came out I just used the command line exclusively.

[–] [email protected] 1 points 1 year ago

I never use Sublime Text, but I love Sublime Merge. I dunno why. Something about the UI just works for my brain, and the merge UI is amazing. I only ever open it with smerge . in a directory, and it's set to floating in my window manager so it pops up, I do my thing, and it goes away.

[–] [email protected] 2 points 1 year ago

I have some git blame extention in VSCode, but otherwise no. Something about using gui tool for git makes me feel so disconnected from it, like I'm not entirely sure what's going on, and afraid I'm going to fuck something up

Also, I forget commands all the time. Mostly ones I don't use often, like changing/adding/removing remotes, changing settings, etc.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

SourceTree when I was still a software engineer.

I'm a manager now, and I see people insisting on command line who have no idea what they're doing. Then don't! I think it's an awful attitude that real programmers use git command line, and GUIs are for babies. Please call out this attitude whenever you see it. Use tools that work for you. Git has a terrible user experience, let's face it.

[–] [email protected] 1 points 1 year ago (1 children)

While I do most actions with the git command or the git fugitive plugin from tpope, I will sometimes whip out lazygit for certain things I don’t do that often.

https://github.com/jesseduffield/lazygit

[–] dmrzl 1 points 1 year ago

I raise that by a "I wouldn't know how to survive half a day without lazygit". From my experience only maggit is in the same level - I just don't use emacs.

[–] [email protected] 1 points 1 year ago

Not really but sometimes if I need a visualization of something complicated that I can't see in my head I'll go to the network tab under insights in github

[–] [email protected] 1 points 1 year ago

I use GitKraken, which is pretty great, but for a lot of day to day stuff I just end up using the CLI

[–] [email protected] 1 points 1 year ago

Git extensions, have been using it for years, and while the UI is not flashy, it gets the job done really really well.

[–] [email protected] 1 points 1 year ago

Haven't seen it mentioned here, I've recently been using lazygit from time to time and I quite like it, especially committing only a few changed lines from a file is nice and quickly amending to old commits. I still use cli for more complicated stuff though.

[–] [email protected] 1 points 1 year ago

JetBrains have some quite extensive VC tooling built into their IDEs which I use almost exclusively. I used to do everything in the terminal, but I find it so much quicker and simpler to do it directly in the IDE.

[–] [email protected] 1 points 1 year ago

I mostly use CLI but sometimes SourceTree, it's neat

[–] [email protected] 1 points 1 year ago (1 children)

Github desktop is the only way I know how to clone my private repo. I do not understand how to clone my private repos through CLI.

[–] [email protected] 1 points 1 year ago (1 children)

Github desktop will get you into trouble if you ever try to work with a team. Fine for solo development

[–] [email protected] 1 points 1 year ago (3 children)

I use Github Desktop but am looking to start moving toward CLI soon for this reason; though to be honest, I only know it's not good practice and don't know the reason why. What kind of issues can happen in a team environment using it?

load more comments (3 replies)
[–] [email protected] 1 points 1 year ago

KDE has a relatively new git tool named Kommit: https://apps.kde.org/de/kommit

[–] Hexarei 1 points 1 year ago

As a long-time TUI user and staunch CLI advocate, I recently came across gitui

[–] [email protected] 1 points 1 year ago

My office blocks git through the CLI/VS Code Tools but somehow GitHub desktop works. No idea why.

[–] [email protected] 1 points 1 year ago

I've used https://www.sublimemerge.com and https://www.sourcetreeapp.com but I think i prefer to just use my terminal most of the time...

[–] [email protected] 1 points 1 year ago

I mostly use the CLI, but I occasionally use fork when a GUI is needed

[–] [email protected] 1 points 1 year ago

I used SmartGit until they tried forcing me to pay. Now I use Sourcetree and the Git tools built into Jetbrains IDEs. But there are still some operations I prefer to do from the command line because I screw up more often with GUIs.

load more comments
view more: ‹ prev next ›