19

Please recommend a Git client (GUI) for Windows featuring

  • Full power of git add -p, including editing patches.
  • Full power of git rebase --interactive, I like to edit/rename/reorder old commits.
7

Try Git Extensions, a Git client for Windows that includes support for the features you are looking for.

Interactive rebasing:

  • 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 you get this 'noop' message. You have to rebase against something that is not your current HEAD. Either that is some number of commits back from your head (eg HEAD~4) or the origin's version of your branch (eg: origin/master) or a specific named commit.

  • Documentation on Branching in Git Extensions

    During a rebase merge conflicts can occur. You need to solve the merge conflicts for each commit that is rebased. The rebase function in Git Extensions will guide you through all steps needed for a successful rebase.

Interactive patching:

  • Documentation on Patching in Git Extensions

    It is possible to apply a single patch file or all patches in a directory. When there are merge conflicts applying the patch you need to resolve them before you can continue. Git Extensions will help you applying all patches by marking the next recommended step.

4

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: the Terminal toolbar button.

SourceTree Toolbar

Some of the more complex tasks you may need to use the terminal for with commands such as those in your question, other tasks such as Renaming things you may find readily available from a right-click context menu, and you can add your own custom git actions to this - though it is worth noting that if you're using a hosted repository service, support for the more complex git features can vary between providers and their implementations.

SourceTree Commit Context Menu

If you normally try to work to GitFlow principles with how you manage your branches and commits, then you'll love the GitFlow toolbar button which gives you the ability to start and finish releases, features, hot-fixes etc with just a couple of clicks.

SourceTree GitFlow Dialog Window

Where some software is locked to only allow you to use their own hosted repository service, SourceTree allows you to clone and work a repository from any given URL. It has some timesaving features to quickly locate repositories on BitBucket, GitHub, and Stash, but if you host your own Git repository or wish to connect into a different hosted one then it should also work fine (I've successfully cloned and worked with a SourceForge repository previously in SourceTree for example).

SourceTree Clone Repository

The application's user interface is very intuitive, beautiful and robust/stable -things which are all important to me. The code review displays make it easy to see exactly what has been changed and shows changes in 'hunks' (groups of changes located close together in a file) which can be individually staged for commit or discarded, rather than having to make decisions based on all the changes in a file. The colour coding is helpful, and the selecting of files and scrolling through changes performs fast even on my really low spec Windows Vista (shocking I know) development workstation.

SourceTree Code Changes Review

Understanding commit history is easy with the lovely graphical display alongside the commit descriptions, and conflict resolution is made a breeze.

SourceTree Commit Browser

Hopefully this gives a taster sufficient to convince you to try it and see for yourself whether this meets your needs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.