Fork: Fast and Friendly Git Client for Mac
git-fork.com
git-fork.com
I have a pre-commit hook that is installed on all new repo's I create/clone that warns me, and then I set an email address PER REPO. This way I can work on both $WORK and open source projects on the same machine while having different email addresses per repository.
The assumption that a user needs to have user.email set globally breaks my entire work-flow.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Committer: Ben Alpert <balpert@balpert-mbp.local>
#
# On branch master
# Your branch is up-to-date with 'origin/master'.
#I used to do something similar to you, but this has been less effort to maintain/less repetition :) (which is nice, as our internal structure is lots of micro-repos so you're constantly cloning new things, and constantly adding creds becomes a hassle).
But I do agree there are lots of very similar UIs for various git GUIs. And I'm sure SourceTree borrowed lots of their layout from others as well.
I really like GitKraken and the team is taking feedback applying it constructively and putting out an impressive product. The part I really like is it's the same app on OSX, Linux and Windows using Electron to build it was a smart move on their part. My favorite feature has to be dropping a branch on another branch to create a pull request. I don't fanboy stuff much these days but I am a pretty big fan of their's right now.
here are some differences from the top of the head:
* Fork has tabbed interface
* For each commit you can see not only changes, but also the whole repository as it was at the moment of commit
* Diff viewer shows exact difference between two pieces of code. For example, here are both SourceTree and Fork showing the same commit: https://dl.dropboxusercontent.com/s/fn9mzjmyvhec2sa/2016-08-..., In ST (on the top) you need to figure out what has changed, in Fork (the bottom one) you see the difference clearly.
* Repository browser shows you many details about your repositories in the similar way as Finder does
* Commit list marks commits which do not belong to your commit tree with gray color
Does it really? I just checked that I am on the latest version on osx and it's not tabbed. Is this a windows only feature or something?
I haven't seen a single interface that gets it right. JetBrains' integration in their IDEs is the closest to "mostly usable" I've seen, where branch creation, pulls, merges, conflict resolution, and pushes are fairly straightforward. It's still far from perfect - I do the lower-level Git > Pull rather than using the Update Project window because I have no idea what operations that window performs; and some rare operations still require dropping to command-line. I'd rate their implementation a 7/10 compared to the 3/10 other tools like Sourcetree provide.
A huge reason JetBrains has an insurmountable lead is its diff and merge editor. It is the best on the market, and the only usable side-by-side merge tool I can work with. Their 3-way diff is a dream to use. The last time I had to assist a co-worker merge a conflict using WinMerge on Windows, I gave up after 30 minutes. I flat out could not understand what the differences were, let alone figure out how to resolve the conflicts. Went back to my desk, checked out the branch in JetBrains' PhpStorm, performed the same merge, and had the conflicts resolved in a couple of minutes. It's no surprise to me that people using WinMerge erase work done by other people far too often.
Anti-disclaimer: not affiliated in any way with JetBrains. Their IDEs are mostly amazing, though it's frustrating that they focus 95%+ of their efforts on new features without going back and fixing what is wrong with their existing features. Their diff/merge editor, at least, is unmatched by any other product I have seen to date (other than the fact that CMD+F / CTRL+F to find in the diff editor is broken... again, JetBrains has some serious bugs that never get fixed).
WinMerge? On Windows? I'm using beyond compare which is pretty nice when correctly configured, tortoise internal diff ain't bad either. Both have three way diff which I consider standard for any diff tool. Jetbrains indeed get a lot of things right. Using their resharper (visual studio), webstorms and itellij ultimate versions. They make amazing products.
It hasn't been receiving many updates unfortunately. I'm happy that another app has popped up! Looking forward to try it out.
It's supposed to be something like Spotlight search in OS X (https://dl.dropboxusercontent.com/s/vopjz0e9tp1k1ul/2016-08-...).
The star icon more closely aligns with quick access to something used often.
Very first thing it does is write a file called "gitclient.log" to my home directory. i deleted it, and it came back the next time i started the app. I see nothing in the prefs that allows you to move the file somewhere else.
call me picky, but this is is a deal-breaker for me. nothing gets to write files to the root of my home directory. Right into the trash.
Right now I'm making a new build with the fix. Thanks for letting know.
Lazy Linux developers making lazy "ports" lazily.
Might be an issue with the port of openssh, rather than git itself.
It was missing a couple of crucial repos I need, and I was in the process of figuring out how to add them, when I hit the show-stopper that caused me to put the app in the trash.
The developer says he's put up a new version without that problem, so I will try again.
The homebrew version of the Git is bundled with two Git GUI frontends called gitk (invoked with `gitk`) and git-ui (invoked with `git gui`)
I love the 5-6 seconds of waiting for its UI to gradually, slooowly, update itself after you do virtually any operation, no matter how simple.
Am I missing something?
Do you really need to justify people making tools more usable? Seriously? Isn't it enough to say, "if there's a quality UI, way more people can comfortably use the tool."
- I can stage/unstage/reset my changes line-by-line
- I can observe the whole repository structure as it was at the moment of commit
- Gui client automatically keeps my submodules in the valid state so I don't need to check their state after each checkout
- I can quickly review the whole repo history (sometimes it can be useful when I am involved in a new project)
- I can see clearly the commits which are going to be pushed
While it is an emacs extension, non-emacs users can start it with a one-line command and treat it as a standalone application, e.g.
https://github.com/dandavison/emacs-config/blob/master/bin/e...
I know at least one non-emacs user who uses it that way.
There are some videos on youtube showing the magit UI. It would of course look more modern were it not an emacs extension but, emacs lisp programmers being as they are, I believe it is the most fully featured and powerful graphical git UI in existence.
EDIT: Fork looks wonderful, I didn't mean to be so cold—just pointing out that it's hard to write a replacement for the original tool, and that I value it when it happens. I believe Sourcetree supports it.
Well, it is free :-) (at least while in beta)
git add -pNeeds a CLI to open repos with.
For now I'm using echo /Applications/Fork.app/Contents/MacOS/Fork > /usr/local/bin/fork && CHMOD +x /usr/local/bin/fork
which is not super ideal
*edit - typo
Is there a way to only view commits that belong in the current branch (like git log)? The commits from the other branches are distracting when you're trying to read the history of a particular branch.
P.S. I wasn't ready to be mentioned on HN today :).