I don't understand the desire for all the git integration into the editor. I mean, it might make sense because Atom is owned by Github, but why otherwise?
I feel like a lot of their resources are being put towards git integration instead of improving the editor and performance... which are some of the primary reasons people leave for VSCode.
Maybe I'm the odd man out though, since I like to use CLI git directly.
I've been using PHPStorm's Git interface for a while now, and as a lover of CLI tools, I can definitively say I will never use command line git again. Hello `Smart Checkout` goodbye `git stash; git pull; git checkout branch-2; git stash pop`. Hello clicking one line and hitting revert on that one line, goodbye trying to revert that one line with `git diff` output or whatever.
A good git interface really is a game changer and can speed up your workflow quite a bit, especially if you utilize feature branches/git flow.
I felt the same way as you do, I used the git CLI directly and could never use a git GUI.
But then I figured out that Atom's git integration is actually quite neat and I started using it mostly to do `git add -i` as it makes staging files or parts of files really easy.
I still don't trust it with pushing/pulling, switching branches etc. so I still drop to the command line for those, but the atom git integration is incredibly useful for seeing your changes and committing a particular part of them.
I agree. I use the command line for everything but staging, and I often only stage parts of files while discarding a few leftover pieces I forgot about. I use sourcetree, but the concept is the same. GUI git is really nice for staging parts of changes. And then I usually commit via the GUI too, since I'm in there anyways.
I mostly feel the same. I don't like to customize my editor too much because:
1. That adds a lot of friction if you want to try out another editor
2. When it breaks, fixing things is not always easy. There are millions of git CLI users; you are probably the only one with your particular editor setup.
3. When I'm pairing with another developer, I don't want to be helpless when using their machine because they don't have the same intricate editor setup as me (or vice-versa)
There are a few things I use a Git GUI for, like staging/discarding chunks, or getting a nice graphical diff.
Having used (and loved) both Magit in Emacs and Fugitive in Vim, I totally get it. It's simply a pleasant experience to not switch contexts too far away from my editor. I certainly don't mind performing Git-related tasks in my terminal, I just like the flow provided by Atom's Git integration. At this stage in the game, it's not perf that's holding me back. Both Atom and VSCode perform well enough to be a daily driver. For me it's Atom's far superior Vim mode that keeps me using it.
At work, we use Git to store our docs (markdown) and Atom feels natural to write MD files in and to push updates. Most casual users understand what push and pull is but they are not really that comfortable to use git commands via CLI.
I have been swayed from using the CLI by emacs and magit. There are so many nice things like staging portions of a changeset, and the ability to get a quick visual diff of the changes before they are committed is really really nice. As to why they would work on it, the two main reasons I keep going back to emacs from Atom and VS Code is magit, and the ability to run in a console. to me Atom and VS Code are fast enough for my day to day work
I'm still undecided on using the CLI exclusively. Although I always use the command line for anything complex, I do feel like my editor of choice (VSCode) provides a fair amount of value with its simple file staging GUI. It also does a good job of showing diffs between versions in-editor.
I feel like a lot of their resources are being put towards git integration instead of improving the editor and performance... which are some of the primary reasons people leave for VSCode.
Maybe I'm the odd man out though, since I like to use CLI git directly.