We've used GitLab for over a year to host projects of my students.
TL;DR;EDIT: there used to be a demo, but now it's missing. You can register for free and create some public repositories.
I must say I am really satisfied.
As an iteration through your requirement is encouraged on this site, I'll do just that.
Relatively good web UI: You can browse ...
I moved from Github For Windows and then Git Extensions to SmartGit and recommend it. Here's why-
Cross-Platform (made in Java)
Very easy to setup and use. If you have experience with any git clients before, you won't take a minute getting on business.
Simple Clean UI. The main interface only shows the changed files and the big Commit, ...
There is nothing like TortoiseGit for beginners.
It integrates with Windows Explorer (no new UI to learn)
Open source (GPL)
Setup/initialize new local repo:
Basic functions are in the top of context menu (Sync, Commit, Push and Pull):
I am using Atlassian SourceTree and like it a lot.
Here's the drill:
Free (not open-source thought AFAIK)
Feature rich - Almost all the features of Git is there (not of GitHub, though, e.g. I didn't find a way to rebase a GitHub fork. It's doable using ordinary Git commands - adding remote etc, but not out of the box)
Bottom line ...
We use Atlassian Stash along with Jira for issue tracking.
Stash is licensed at $10 for 10 users, $1,800 for 25 users, $3,300 for 50 users, $6,000 for 100 users, and $12,000 for 500 users. Stash itself does not include issue tracking, but a separate issue tracking solution, Jira, is distributed by Atlassian under the same licensing model.
Of course, to ...
Gogs (Go Git Service) is a painless self-hosted Git Service written in Go. http://gogs.io
I've tried this one and I have found it quite appealing. Simple interface, feature almost on par with what I would expect from a GitHub look alike, and maintainer eager to implement feature and fix bugs. The installation is dead simple. Drop the binary in a folder and ...
I would propose Tuleap
Web UI: currently under heavy lifting (major release due in a couple of weeks, you can have an early preview on demo site)
git, subversion and even cvs are supported
SSH and HTTPS access
Group based access control, repo per repo (read, write, rewind). Can be LDAP or AD backed but not mandatory
Code review and gating comes with Gerrit ...
I'm using Phabricator, which is developed with Phabricator itself.
Relatively good web UI: You can browse code, commits, diffs, search for tasks with specific parameters. Pretty much every app allows you to make a custom search on its data;
Support for git and/or mercurial: There is support for Git, Mercurial, and Subversion;
SSH shell (repositories must be ...
I have been trying out gitstack for the last couple weeks. I haven't yet fully explored it (ah time is always so short). I'm going to use mainly screenshots from their features list since I'm on the wrong computer right now (and on the wrong network FWIW)
Relatively good web UI: source code and commit browsing are a must: Reasonable - at least so far I ...
I very much like Git for Windows (msysGit).
It has three 'modes' - Bash (where you can do everything), Windows Context Menu, and GUI (where you can do a lot less but it is I would say very user friendly).
makes it relatively simple to setup and initialize: Very easy
one or more local repos: Initialization is very simple and you can have as many as you want ...
UPDATE 2015: Gitorious will be merged into GitLab, so see the GitLab answer.
Gitorious is a Git hosting and collaboration software that you can install yourself.
It is open source, and you can try it at gitorious.org
Relatively good web UI: source code and commit browsing, creating and managing projects and repositories.
Support for git
SSH shell: yes
You may consider using GitKraken. Some features:
Free for non-commercial use
Cross-platform (Windows, Mac, Linux)
Multiple profile support
One-click undo & redo
Built-in merge tool
Drag and drop to merge, rebase, reset, push and more
Resizable, easy-to-understand commit graph
View image diffs in app
Submodules and Gitflow support
ungit has a strong ease of use and understandability focus (as the name suggests)
npm install -g ungit
It is Node.js based and runs a server that users can view on the browser, so it is cross platform.
Not sure if it manages SSH for users, but it is definitely something that I can see them doing.
I can't recommend PyCharm enough. It has Git integration built in, has a great debugger, and supports IPython.
Unfortunately, I haven't used Spyder or Ninja to compare, but definitely give the free version of PyCharm a whirl.
Also, here's a comparison page in case you want to check out the pro version.
Gitlab fits your criteria rather nicely!
Gitlab is an open source project that you can self host (use the Gitlab Community Edition). It isn't an exact work-alike of Github, but it is surprisingly close. I've recently started to use it for a number of projects and been pleasantly surprised at almost every step1.
It offers a wrapper around bare git ...
I generally use gitg. It is a GTK client for viewing and interacting with git repositories. It is a simple to use GUI that started as a GNOME replacement for Gitx.
Some of the features of gitg:
A quick overview of your log history.
Right click option to create branches, tags and cherry pick commits.
Easy to stage and unstage changes
And the drawbacks......
Netbeans has a Git support out-of-the-box.
Nevertheless in our company we are discouraged to use it, as it has/had a bug which led to some trouble with the git repo.
Unfortunately I don't know what the bug was, as it occurred before I worked there.
Therefor we use git only from the command line, which is quite easy too.
This leads also to no trouble because ...
The best open-source git repository management tool that you can self-host that I know of is Gitlab.
In is not a 100% drop in replacement to RhodeCode, but it does perform much the same role of managing repositories, users and their permissions on them.
It offers a wrapper around bare git repositories on a server giving you easy to manage SSH and HTTP/S ...
Try Git Extensions, a Git client for Windows that includes support for the features you are looking for.
Stack Overflow question: Interactive rebase with git extensions
By default, Git extensions sets the branch to rebase against to the
branch you are currently working on. So, unless you change that, there
is nothing to do and ...
I'd recommend using Trac (for details and screenshots, see my answers here and here. Trac fulfills all your requirements listed:
Issue tracker: Yes.
GIT integration: Yes, also other VCSs as e.g. SVN or Mercurial are supported. For Git, there's even integration with Github.
Progress: Yes, via multiple plugins you can even chose what fits you best.
I have been using SmartGit. It costs 80 USD, but is free for non-commercial use. It is Java-based, so it can be used on Windows, Mac, and Linux. Along with support for all typical Git features, it supports Git-flow and has optional integration with several online Git and Hg (Mercurial) hosting services, including Github and Bitbucket.
Git itself ships with gitk to browse the repository (which includes showing diffs of stuff you've already committed) , gitgui and git difftool [which allows you to choose one of the merge tools present in your system]. What I personally use is Gitcola, which I find quite convenient:
Gitcola (source: Gitcola; click image to enlarge)
It not only handles the ...
RhodeCode Enterprise 3 (https://rhodecode.com) meets 9 out of 10 of your requirements:
Relatively good web UI: YES
Support for git and/or mercurial: YES, supports even both plus Subversion
SSH shell: YES, possible with plugin
Permissions: YES, full enterprise-grade permission system with permission delegation, permission groups, inheritance, LDAP/AD ...
IntelliJ Idea has Git integration. It's quite powerful, and should be just fine for most peoples' needs.
It should be good for...
Pulls, Pushes, Checkouts, etc...
Adding and rm'ing files
I used to do the trivial Git work with GitX. It has a minimal user interface and is just enough for adding, pulling, pushing and committing. Generating keys has to be done through the command line though.
There are other GitX-forks available. The original is mostly focused on simplicity.
I can certainly recommend Atlassian's SourceTree software for Windows. I've previously used TortoiseCVS, GitHub (and their Windows application), and just plain Git with the command line previously, and love how SourceTree makes the things that should be quick and easy with a button just that, while keeping the power of the git console just one click away: ...
I would strongly recommend Review Board having used it myself and knowing several other projects that have used it successfully.
Flexible but formal workflow
Extensible via REST and Python APIs
Free download or hosting available, free community support or paid for support contracts.
Supports multiple VCS systems, (Mercurial, ...
Pycharm is excellent, but for exploratory data analysis I'm using Spyder.
Nice combination of variable exploration, ipython integration (rendering charts etc) and IDE features (code completion, code navigation etc)