5 ms·
I know this has been mentioned a million times on here, but for the off chance that someone hasn't heard about it before I'm going to completely disregard that
by Munksgaard 7y ago
I know this has been mentioned a million times on here, but for the off chance that someone hasn't heard about it before I'm going to completely disregard that and say that Magit for Emacs is an incredibly helpful tool for interfacing with git repositories that I couldn't imagine working without it. It's by far the best interface to a version control system that I've ever used. It has helped me understand how git works behind the scenes, and allows me to effortlessly work with branching, stashes, merging, rebasing, remotes and much more, without remembering a bunch of arcane git commands.
- hwj 7y agoMagit sounds great. If I only could use it without remembering a bunch of arcane emacs commands.
- shpx 7y agoIf you've memorized the arcane vim commands, try Spacemacs or Doom Emacs. http://spacemacs.org/ http://spacemacs.org/ https://github.com/hlissner/doom-emacs https://github.com/hlissner/doom-emacs In magit in those Emacs distributions, the question mark brings up a list of available commands and if you type the first letter of a command with multiple letters, it'll show you the names of the actions that start with that key.
- phalangion 7y agoSpacemacs makes emacs commands both less arcane and more discoverable. Give it a shot.
- giancarlostoro 7y agoSpacemacs is my favorite way to use Emacs, I leave the Emacs keybindings for it, but you can still use some of the ergonomic shortcuts from it. I have never used Magit however, I just prefer using a GUI: Sourcetree on Windows / Mac is A+, Gitkraken is fine, but idk if I can justify $60 a year, and SublimeMerge doesn't "feel" ready for me just yet, but if it ever does I may consider it. The main way I do things overall is IntelliJ and Co's built-in git utilities. If something gets complex I switch out and into GitKraken or Sourcetree.
- weaksauce 7y agouse spacemacs and it's much more accessible. magit is phenomenal software and it's both a blessing and a curse that it's tied to emacs... it probably wouldn't exist as easily outside of emacs and it's a small pain to use for people that don't use emacs already.
- motform 7y agoOne of the things that make magic so great is precisely that one does not have to remember all the shortcuts. The author has written and released his own tool for popups and tooltips[0]. The keys are also among the more sane binds you find in Emacsland, so you can often browse by guestimation. [0]: https://emacsair.me/2019/02/14/transient-0.1/ https://emacsair.me/2019/02/14/transient-0.1/
- _verandaguy 7y agoFor those among us of the Vim-family persuasion, there's tpope's ever-popular vim-fugitive[0], with such handy commands as `Gcommit`, `Gadd`, and one of my personal favourites, colour-coded `Gblame`. [0] https://github.com/tpope/vim-fugitive
- yodsanklai 7y agoI find myself more productive on the command line. It just feels "safer", esp. for anything that changes state. And I always prefer not using the trackpad if I can avoid too. I know without hesitation all commands I use daily. And then I keep a note with the few commands I use less often. An exception is when I want to display changes between version, or conflict resolution. That being said, I'd like to rely just on my IDE (VSCode) for better consistency, and I tried a few times, but I always return to the command line which is a great tool. For the same reason, I prefer to `CMD-tab` to terminal and `make` rather than build from the IDE.
- gpderetta 7y ago> And I always prefer not using the trackpad if I can avoid too. this is emacs we are talking about :) you are supposed to use the keyboard for everything.
- sidpatil 7y agoI really enjoy using Magit, since it makes partial commits a breeze. Unfortunately, it's notoriously slow on Windows, so I ended up migrating to Git's interactive-mode commit utility.
- gpderetta 7y agowell, it is not exactly amazingly fast on Linux either, to be honest.
- rgrau 7y agoI'm in deep love with magit, but in my case it has done nothing to know more about the git internals but the contrary. In which cases you found it "opens" git for deeper inspection? My experience is that it lets me operate at higher levels of abstraction than cli git. (e.g. Instant Fixup)
- StreakyCobra 7y agoWithout Spacemacs having me brought to the Emacs worlds, I would have never discovered magit. Nowadays I am soo tied to it that I even have a `magit` script that can be called from anywhere: #!/usr/bin/env bash emacsclient -c --eval "(progn (magit-status) (delete-other-windows))" The learning curve is a bit long, but really worth it! Note: this require you to have setup emacs as a deamon somehow
- ChanderG 7y agoSharing my personal experience to add to this. I was happy with the git cli (and occasional tig) when I started using magit full time and initially never understood all the buzz. It did not seem that powerful over what I was using. After 3-6 months of use, for some reason I had to go back to the cli and then I realized the ease and speed I had got accustomed to. Magit is magical; use it for some time and try going back to your previous setup.
- busrf 7y agoI recently started using Magit, and one of the first things I did was cruising through a gnarly interactive rebase full of fixup commits with it. It was amazing. One of the things I appreciate about magit is that it gives you sane default behaviour. For instance, the -f option when pushing with magit is —force-with-lease, rather than —force, so that you don’t inadvertently overwrite someone else’s work. When stashing, it helpfully prompts by default you to enter a message for your stash to differentiate it from the 10 other stashes you might have on a branch. Sure, these are things you can get on the command line, but they’re not the defaults, and you have to remember how to get to them. I only have emacs open for magit (: