Tower for Windows
git-tower.com
git-tower.com
But on the other hand it is a big opportunity for others like Tower
SourceTree is barely usable now really, I switched back to GitX on OSX...
Besides, Git Extensions is written in C# and open-source... once I finally have some time on my hands (read: never), I'd gladly add some simple features that I'm missing in it
If Tower for Windows is anything like its Mac counterpart I would recommend it head-and-shoulders over anything else. Well worth the price!
Edit: typo fix
Tower was the clear winner then and Tower 2 has only improved on it.
I was, and in many ways still am, a Git novice. Like many, I only did the basic commands in order to work with my team. But Tower has helped me become a (somewhat) better branch strategist, in some cases even enabling me to recommend to my more senior colleagues ways to fix problems with branches.
The reason I have been able to more meaningfully contribute is because Tower, like many GUIs, makes things discoverable. So while the command-line equivalents are hidden from view, the sequence and logic of working with different branches is exposed by the spatial metaphors that inhere in the GUI.
As a final plug, the Tree view that Tower provides continues to help me gain insight about how my work and the work of my colleagues integrates into our product's main branch.
I'm not associated with Tower except as a very satisfied user. It's not perfect, and there are some things I wish it did better. But the product is under active development and the product is rock solid.
While I can say that on OS X, both work better than their counterpart on Windows, Tower is still my go to client. I think the biggest thing is that when I started with Tower, things just clicked. On top of that, with Tower, I has never dealt with bugs or any issues (besides the windows beta installer).
SourceTree on Windows is pretty much worthless. It won't handle large repos well and large changes cause it to lock up and crash when trying to stage files. If you don't like Tower, I would recommend ungit[1] for Windows.
Does Tower do interactive rebase? That's one of the main reasons I use SourceTree. Is the interactive rebase functionality good?
Update: Tower doesn't have interactive rebase. https://twitter.com/joeycadle/status/777862389286989824
Sticking with SourceTree since it does.
SourceTree OTOH is slow and clunky on every platform. But even if it had a light and fast UI - it's not integrated with my file browser, which sucks. With TortoiseGit, every Git command that I need is a single click away when I'm viewing my files.
I mean, tortoise gets the job done, but it isn't what I'd consider fast or convenient.
I disagree. GitExtensions is by far the best Windows UI for Git.
Check out our most recent beta version, SourceTree for Windows 1.9.7 Beta 2 [1] with an updated TreeView to support folder level diffs, support for LFS 1.4.1, improved performance when switching tabs, a huge fix for addressing invalid dictionaries in the Spell Checker registry and many more fixes listed here [2].
We’re also working hard on improving the whole experience. Download Alpha 2.0.0 [3] for a sneak peek at a brand new SourceTree for Windows. Alpha 2.0.0. comes with high DPI support, improved repository browser & bookmarks view, patched memory leak and new tabbed navigation. Just a heads up, there are some known issues with Alpha 2.0.0, but they’ll be addressed in Alpha 2.0.1 in the coming weeks. Feel free to watch the repo to get notified of new builds.
Full disclosure - I’m the Product Manager on SourceTree. LMK if you’d like to chat; there’s a link to my calendar on my HN profile page.
[1]: https://bitbucket.org/atlassianlabs/sourcetree-betas/downloa...
[2]: https://www.sourcetreeapp.com/update/windows/beta/ReleaseNot...
[3]: https://bitbucket.org/atlassianlabs/sourcetree-betas/downloa...
Out of frustration, I switched to gitkraken around that time. The main feature it has over sourcetree is auto-stash, which is exactly the type of feature I wish atlassian was working on, rather than more ui revamping.
Either way, I wish you good luck with it, and thanks for bringing a great git ui to Windows.
Just as a data-point: I'm quite satisfied with the UI changes. The UI is pleasing and functional.
For the work that I use Sourcetree for, it is not broken left and right. It is not broken at all. For staging files, browsing branches, browsing stashes, switching branches, doing the occational cherry-pick it works fine. It works really great for doing fine-grained (line or chunck) staging.
git is a bunch of concepts: commits, branches, tags, a staging area, rebasing, pushing, pulling, the reflog, etc. Provided a git client implements these concepts they're a fine way to learn git.
Also note many (not you, just others I've met) 'I only use the command line' git users use git's inbuilt gitk GUI a bunch of the time. Sometimes it just helps to be able to see the branching in a real tree.
That being said, only a few students really manage to get git after a semester. Most students just kind of muddle through with a few basic commands, and just copy and paste commands from the internet (or re-clone, and copy files over).
Git is not easy to learn.
I've been using Git for years and know the command line well enough, but I greatly prefer a good GUI.
The reason, even more than not having to memorize commands, is that it gives much more visibility into the state of the repo. Instead of having to poke around with different commands to suss things out, it's all right there before my eyes.
I'm currently using SmartGit. Friends have told me Tower is even better, but I needed something that ran on Windows as well as Mac. SmartGit also supports Linux, but my Linux work is pretty much always in a VM, and I'm fine with keeping source code on the host Windows or Mac system and running Git there. So will definitely check out Tower now.
Just a couple of examples of where SmartGit outshines the command line - I would guess that Tower has similar features:
• I accidentally commit something to the wrong branch. On the command line, it takes a series of git commands like reset, stash, checkout the other branch, pop the stash, add the files again, and finally commit to the correct branch. In SmartGit I just go to the log view and drag the branch markers to where I want them, and it does all that stuff automatically.
• I mess up a rebase or the like and want to get back to some previous state - but now I'm not even sure which "lost" commit will be the good one. The command line provides the reflog, where I can look up hashes for previous commits. Then I can copy the hashes and checkout those commits one by one until I find the one I want. In SmartGit I just click the "Recyclable Commits" checkbox, and now everything in the reflog shows up as part of the normal log view just like any other commit. I can cursor up and down through the log and it lists the changed files for each commit. I can click any of those files and immediately see the diff. All of this is without having to do any temporary checkouts. When I find the commit I want, I just add a branch there or move a branch label to it, and now it's part of the normal history again. Same for stashes: if I have some saved stashes I can view them as part of the normal log too.
I really like this seamless integration of concepts that otherwise involve multiple steps or a completely different methodology like the reflog.
Anyway, glad to hear Tower is on Windows now - will definitely take a look at it!
If there ever is a Tower 3 release, I'm immediately purchasing an update license.
I'm behind a NTLM authenticated proxy at work and we have problems passing through it with all major git clients. There are workarounds (like CNTLM) but I would love a git client that have such support out of the box.
- No visible options for setting proxy configuration
- No interactive rebase
- Dropdowns for selecting "diff" and "merge" tools would expand, but not let me actually click the checkboxes.
- Crashed within a couple minutes of having loaded it up. Don't remember what specifically I'd clicked on - might have been the icon in the bottom left.
I'm primarily a SourceTree user, but I'm kinda frustrated at all the Windows Git GUI tools right now.
- SourceTree 1.6.25 is stable and has interactive rebase, but they progressively ruined the UI after 1.6 . Staging behavior is great, but it doesn't have file blaming or view-tree-at-revision.
- Git Extensions has file blaming and can sorta correlate with the file tree because it has Explorer integration, but the rest of the UI doesn't suit me.
- GitKraken actually integrates libgit so that it doesn't need to run external Git processes for operations, which is particularly nice in a corporate environment where process monitoring can slow things down. On the other hand, way too much shiny, no interactive rebase, and the UI again just doesn't feel right. Also, the recent announcement of licensing changes for corporate use.
- Tower appears to have view-tree-at-revision, but looked too monochrome, obviously an early beta, and once again, no interactive rebase.
I suppose having _one_ application that integrates the best of all of those would be too much to ask.
So, I guess I'm sticking with SourceTree 1.6.25 for the foreseeable future.
I have used Tower on OS X, and I loved it. I'm glad it's on Windows too.
The interface looks good but not tested since it's an Electron app and I'm pushing my RAM most of the time anyhow (I'm looking at you, Slack).
Interactive rebase, as another commenter has noted, is a feature I need.
It was good on 1.0 and it got even better after they introduced fuzzy search.
The interactive merge/rebase works really well.
- Everytime I clicked on the bottom left plus icon, the app crash: http://imgur.com/a/YI8OO
- Can you add the option to always expand all diffs by default when viewing a commit?
- Can you add support for Meld merge?
[0]: http://gitup.co
Does it exist or is it like a lot of other git GUI with no separation between staged and not staged files/hunks ?