10

Is there a GitHub client for Linux?

Please note that I'm not looking for a git client for Linux. (But it doesn't matter whether it is built by GitHub, or by a third party using GitHub's API.)

The reason that a GitHub client is sometimes desirable is that otherwise you need to break your workflow when performing a GitHub specific action, such as making a Pull Request.

8
  • Welcome to Software Recommendations! Why won't any normal git client work? We will need much more information to give good recommendations here. Please take a look at What is required for a question to contain "enough information"? Then please edit your question and see if you can incorporate some of these improvements. – DanteTheEgregore Apr 3 '14 at 22:51
  • @DanteTheEgregore clarified question. – Eric Wilson Apr 3 '14 at 23:52
  • 2
    Could you please make a list of the Github-specific features you want? For instance pull request, issue tracking, etc. By the way, can one create/merge pull requests using the official Github Mac/Windows client? – Nicolas Raoul Apr 4 '14 at 2:28
  • @EricWilson: Pull Requests are not specific for GitHub. They are a part of git. – Martin Thoma Apr 4 '14 at 14:46
  • @moose I didn't realize that. What is the git command for creating a Pull Request? – Eric Wilson Apr 4 '14 at 15:56
4

There is no dedicated official Github client for Linux at this time.

There are, however, several GUI Git clients that will work with Github. I know you say you're not looking for Git clients, so if you're fully committed to that stance your answer is in the first sentence of this post. However, it's important to note that Github is Git, just a hosted version of it with some minor tweaks. You can use any Git client to interact with it, and there are many GUI clients that give a similar polish and ease of use to the process as you would expect from the official client.

There are many options, but of them all I recommend SmartGit for having a good user experience and good Github-specific integration (supporting Github-style pull requests and comments). It's the one I use for Linux when not using the command line. The diff/merge view is really nice.

You may also prefer GitEye if your focus is more on integrating GitHub's issue tracking. However, that's the extent of their GitHub-specific support.

4
  • GitHub is a bit more than git, I've tried to illustrate the difference in my edit to the question. – Eric Wilson Apr 3 '14 at 23:51
  • I am not sure you understood my answer then. I think you heard me saying "I'm not telling you exactly what you want to hear" and understood it as "I'm telling you nothing you'll want to hear. "The client I suggested does support Github pull requests via the GitHub API. Please review the information on this page under "Manage Pull Requests": syntevo.com/smartgithg/github. You may also appreciate the quote on that page: "Just purchased SmartGit. Absolutely fantastic github tool. Heads and shoulders better than any other I have used. John Papa" – Jonathan Van Matre Apr 4 '14 at 14:25
  • I understood you, just quibbling with you "GitHub is git" statement. – Eric Wilson Apr 4 '14 at 15:55
  • The statement's meaning was not that they are identical, but that they are far from mutually exclusive. Any client that supports Github will implicitly have to support git. Even the Github official clients are still technically git clients. Your post gave the impression that you might not be aware of this, hence my statement that "Github is git". Apparently we are both quibbling over finer points neither of us was actually missing. :) If you see room for further improvement to my answer, please let me know. I do think SmartGit is the best option available at present. – Jonathan Van Matre Apr 4 '14 at 16:25
2

Have you heard about hub?

It augments git with some very handy github related commands:

Assuming you've aliased hub as git, the following commands now have superpowers:

git clone

$ git clone schacon/ticgit
> git clone git://github.com/schacon/ticgit.git

$ git clone -p schacon/ticgit
> git clone git@github.com:schacon/ticgit.git

$ git clone resque
> git clone git@github.com/YOUR_USER/resque.git

git fork

$ git fork
[ repo forked on GitHub ]
> git remote add -f YOUR_USER git@github.com:YOUR_USER/CURRENT_REPO.git

git pull-request

# while on a topic branch called "feature":
$ git pull-request
[ opens text editor to edit title & body for the request ]
[ opened pull request on GitHub for "YOUR_USER:feature" ]

# explicit title, pull base & head:
$ git pull-request -m "Implemented feature X" -b defunkt:master -h mislav:feature

git create

$ git create
[ repo created on GitHub ]
> git remote add origin git@github.com:YOUR_USER/CURRENT_REPO.git

# with description:
$ git create -d 'It shall be mine, all mine!'

$ git create recipes
[ repo created on GitHub ]
> git remote add origin git@github.com:YOUR_USER/recipes.git

$ git create sinatra/recipes
[ repo created in GitHub organization ]
> git remote add origin git@github.com:sinatra/recipes.git

And some more.

When a GUI is not a must, it can be a handy tool.

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.