
Introducing a simpler, faster GitHub for Mac - fjcaetano
https://github.com/blog/1862-introducing-a-simpler-faster-github-for-mac
======
squeaky-clean
I really wish GitHub would open source these clients. If not for community
contributors to poke at (it's kind of funny that a client based around open
source code collaboration isn't open source), I'd at least like to see the
code behind the UI. Github for Windows 2.0 is absolutely beautiful, and Github
for Mac looks to be just as good.

I've read somewhere that Github for Windows uses WPF for the UI. There are no
good looking open-source WPF apps that I'm aware of, so I'm very curious as to
how it was made.

~~~
mstromb
You could try loading the assemblies up in dotPeek and poking around. You miss
out on the XAML (though you'll see the code the XAML was transformed into),
the compiler generated stuff for await is a little ugly, and obviously you
wouldn't be able to re-use any of the code you see, but if you're just
curious...

------
peter_l_downs
Who uses this? Is it an effective part of your daily workflow?

~~~
kneath
(Biased, I work at GitHub and helped design the original GHfM)

I use it every day, almost all of the time. I don't use a lot of it, but what
I do use is tremendously useful. My workflow is usually:

1\. Navigate to the folder in terminal (old habit, or starting servers) and
type in `github .` which launches the client for this repo.

2\. Sync to pull in new changes (cmd + s)

3\. Create a new branch (cmd + b)

4\. Commit as I code (visual diff helps me do light code review on the spot).
This is definitely the core usage for me — seeing what uncommitted changes I
have, selecting out partial commits, drafting up good commit messages,
amending bad commits, etc.

5\. When I'm ready to publish my branch, sync again (cmd + s)

The key for me really comes down to some really simple stuff: a visual editor
for creating commits, and quick keyboard commands to common actions
(branching, switching branches, push/pull). It's possible to do fast in
terminal, but muscle memory serves me personally much better with real
keyboard commands.

~~~
timr
I don't get it. How in the world is that any easier than:

    
    
      cd /your/src/dir
      git pull
    
      <edit stuff>
    
      git diff
    
      <look at stuff; possibly edit more stuff>
    
      git commit -m "edited stuff"
     
      <oops...forgot something; edit another file>
    
      git commit -a --amend
      git push origin
      

Which, of course, has the added advantage that you're _using git_ , instead of
using a GUI obfuscation layer on top of git, and therefore learning your
tools.

I mean...I sort of get why people do git integration in editors (even thought
it tends to lead to ignorance of git), but opening up another, non-console,
non-editing app, just for git?

~~~
TheSoftwareGuy
for one thing, you are forgetting that people are human. this is what that
workflow would more realisticly look like:

    
    
        cd /yor/src/dir
        bash: cd: /yor/src/dir: No such file or directory

_examines closely to look for typo_ cd /your/src/dir

    
    
        <edit stuff>
    
        git diff
    
        git comit -m "edited stuff"
        Did you mean this? git: 'comit' is not a git command. See 'git --help'.
    

Did you mean this? commit git commit -m "edited stuff"

I think this is enough to get the picture.

~~~
rahij
> cd /yor/src/dir > bash: cd: /yor/src/dir: No such file or directory <tab> ?

And on anecdotal evidence, I've observed that people who use git intensively
everyday often have aliases to these commands that have a low probability of
typos.

eg gcom => git commit

------
mraison
Does someone involved in the project know what is the status of desktop
notifications? Last time I checked, it had been removed from the app, which
was a deal breaker for me.

~~~
zecho
This is the only reason I have installed the app. Patiently waiting for a good
desktop notifications system. I'm on far too many projects at any time, some
high volume open source, and I really would like notifications built in.
Currently giving The Hub App a spin.

[http://thehubapp.com](http://thehubapp.com)

------
sergiotapia
Probably a dumb question but can I use this for repositories hosted anywhere
or does this only work with Github repositories?

I currently use SourceTree but only for solving conflicts and manually adding
things to staging in increments. I would like to give this software a try.

~~~
kingnight
I just tried it out and found that it can work with repositories that are
hosted elsewhere, but I haven't yet found a way to clone a new local repo from
a non-github remote repo.

~~~
sergiotapia
Yeah that's more than good enough. I only clone in terminal anyways. I'll give
this a shot for a couple of days. Thank you!

------
lukasm
I was using it only to see a nice diff with colours instantly. It bit me once,
though. I couldn't figure out why my new folder 'icon' was being ignored. I
checked the gitignore, update etc. The problem was the app added global
gitignore config for mac icons.

------
amartya916
Nicely done! If someone from the GitHub team is reading this, is there any
plan in the future to integrate "issues" into the desktop client? P.S. like
the new style logo, seems Yosemite ready :)

------
tcc2161
I installed this today and now it crashes on opening

------
LaSombra
Why use it and not now Atlassian's SourceTree?

