DEV Community

Discussion on: What's your favorite Git tool?

Collapse
 
theawesomeguy47 profile image
TheAwesomeGuy47

Same as my experience. Git on the command line is and will be superior for a while to come.

Collapse
 
fjones profile image
FJones

Depends on your needs, really. A regular dev just concerned with merges and pull/merge requests is fine using GUI or web tools. More intuitive for them, or easier to handle (had a coworker use our Gitlab for merges even to the staging and integration branches). But bisect and rebase -i are important tools for power users, especially those with responsibility, and no GUI I've found handles them well.

I dislike the common diff/conflict resolve UIs (e.g. Jebtrains IDEs), but mostly because I've grown accustomed to git+nano. I see absolutely where they're useful for someone who prefers to work from the IDE. It just isn't my workflow. I much prefer seeing the diff on the shell, as well as using the less-commonly-implemented-in-GUI features, but I know I'm an outlier there.

Thread Thread
 
theawesomeguy47 profile image
TheAwesomeGuy47

Agree.

Thread Thread
 
kimdontdoit profile image
kimdontdoit

Thanks for your input

I'll keep git bisect in mind, I haven't heard of it before and it seems useful

What I'll miss the most are probably git graphs to keep track (stalk) what's going on in repos (although I haven't tried to get accustomed to git log) Do you think its not useful enough or have you achieved visualizing commit history differently?

I just copy/pasted a fancy git log --graph, and I'm not sure if my eyes like it lol

git log graph

Thread Thread
 
fjones profile image
FJones

I rarely use graphs, to be honest. But pure visualisation tools are also aplenty, not really a need to switch to a UI-based workflow.

Maybe it's because I work with relatively large concurrent teams that I don't see much point in graphs, but I've never found them to convey relevant information to me. If I need to know how a commit was merged, I can either use our gitlab for the lookup, or some CLI tool that traces back (written one myself once, in fact). I'm also a huge advocate for rebase-before-merge, so our graphs often don't really tell anything. And they break apart regardless of visualization at a certain amount of concurrent branches anyway (bitbucket still can't handle more than a handful of branches properly...).

Besides, once the merge commit is in, it's not really important to know which path a commit took, at least in my experience.

Some comments have been hidden by the post's author - find out more