
How the Heck Do I Use GitHub? - caffeinewriter
http://lifehacker.com/5983680/how-the-heck-do-i-use-github
======
Isamu
"The site is based around how git works, and git is pretty old. It runs via
the command line and has no fancy graphical user interface."

Wait, we're using software first released in 2005? Holy crap, we may as well
be using quill pens.

~~~
yareally
Lifehacker saying such things does not surprise me as their quality of writing
and target audience is much less hacker news in 2013 and much more mainstream.
It would almost be more suitable to just relink the article to help.github.com
as some others have mentioned.

~~~
csmattryder
Gawker now exists as a network that posts articles designed to get that
advertising revenue in, the whole Reddit witch-hunt a while back serves a
point.

If you're learning Git from a Lifehacker post, you're not going to learn much.

Massive shame, it used to be a great site for productivity tools. Kotaku too,
now that's reduced to the low hanging fruit of gaming news, and don't get me
started on Gizmodo.

~~~
tommorris
"witch-hunt".

Here's the thing: unlike witch-hunts of old, modern day witch-hunts do
actually sometimes find witches.

------
derekp7
This post is so apropos for me (at least the title is) -- I'm perfectly fine
with the Git part of github, but was struggling with the other parts of it.
For example, trying to figure out how to make a versioned release. The
download link they provide gets you the latest version from the repository.
Took me a bit of searching and looking at other projects to realize that if
you tag a release, it can make that available too.

But now trying to get that to show up in the project page (using their auto
page generator) -- I ended up having to hand edit the html code, because I
wanted the web page to have a list of specific releases. But even their source
download link isn't fully intuitive. For example, mine shows up as
"<https://github.com/derekp7/snebu/archive/1.0.tar.gz>, but it downloads a
file called "snebu-1.0.tar.gz".

Oh, and to get the readme file to utilize their markdown, you have to call it
reamde.md, instead of readme.txt. And I'm looking for where my users can leave
feedback or discuss things, other then opening an issue in the issue tracker.
But they don't have any mailing lists or forums (I guess most projects set up
a separate forum, and link to it from the readme.md file or the gh-pages
page).

What I'd like to see is a document going over the entire lifecycle of all the
features offered through github, including documenting the standard practices
for items that they don't provide (such as the forums thing). Anyone got any
pointers?

~~~
reidrac
Re: releases; GiHub used to have a cool feature that was removed* (and I
deeply miss): they removed the file uploads.

* <https://github.com/blog/1302-goodbye-uploads>

You know, the code distribution can be different to the code you have in the
repo (git archive != python setup.py sdist).

The uploads functionality wasn't perfect (I had to make the dist package,
upload it), but it did work for me.

~~~
derekp7
One alternative for the uploads is to make an orphan branch similar to gh-
pages, populate it with your tar.gz file contents, tag it, then delete the
branch. It will show up like a normal tagged download without having extra
messy branches in your repo.

------
sikhnerd
Back when I first started using git, I found Github's own getting started
bootcamp pages to be a good starting point.
<https://help.github.com/categories/54/articles>

------
dougk16
For how popular github is, it does have a surprisingly frictional client set
up process, for Windows users at least (although this is partly due to git
itself). I can talk a non-technical person through setting up an SVN repo
using Tortoise no problem. With git it's something I just have to do for them.

I think it speaks to how amazing a service github is that the more complicated
set up process doesn't put anyone off.

~~~
cstuder
Have you checked out _Github For Windows_? I like how it hides some of the
complexeties of Git, _and_ gives you a Git Shell with Git in the current path.

~~~
dougk16
Ha, I just looked and it came out immediately after the last time I set up
git/github on a windows machine the old-fashioned way. So it looks like my
comment is probably invalid now. The next time I use git for a project I'll be
sure to check it out. Thanks.

------
marizmelo
GitHub is fantastic if you have an UNIX/Linux background. I can understand the
scary felling of someone that uses Windows on daily bases (for example) and
suddenly have to work with SSH, GIT, Markdown, etc. I love GitHub but I don't
think it is made for ordinary people. One day maybe it will be.

~~~
JasonFruit
What's the relation between Git and Markdown on the one hand and Windows on
the other? SSH, yes, but the others? And there's nothing about Unix that
limits its use to extraordinary people — I use it, as well as Git, Markdown,
ssh, and even Emacs.

~~~
marizmelo
I just cited markdown as complement to git. Git is a command line tool as is
SSH (don't talk about GUIS for Git, that is not the case). I never said Unix
is used exclusively by extraordinary people only (Ubuntu and others are an
example), but the majority of people still use Windows.

Have an Unix/Linux background makes it easier to get started because you
already know what they are talking about.

My personal opinion? Windows sucks (just to be clear, that is me).

------
neya
This is a really good article. Personally, I don't use Github for the same
reasons - the over-whelming complexity of GIT and its terminologies. I
currently use an SVN (Tortoise SVN) to keep my work in sync.

~~~
mixmastamyk
You might like mercurial and bitbucket. There is also TortoiseHG and though I
find it a tad clunkier it's not too bad.

~~~
neya
Thanks :)

------
notatoad
Kudos to lifehacker for writing "how to use git with github" and not just
instructing people to install the github Mac client and calling it a day.

------
krapp
I've gotten as far as creating repos, branching, merging and pushing them to
github. Oh, and not publishing my livejournal passwords in my repo. Anymore.

But yeah, not the most beginner-friendly thing in the world, and most of
what's on github i'll probably never even touch. I forked a repository but i
still don't know how to submit a pull request. I don't even know how to delete
it. Feh.

~~~
kmf
There's a lot of documentation on the web for Git, but the Git/Github
integration can get a little hairy if you get out of sync.

The pull request workflow depends on what you're working on (Personal project?
Company project? Massive open source project?), but Red Hat has a pretty good
overview of a fairly standard system that most people should be familiar with:

[https://openshift.redhat.com/community/wiki/github-
workflow-...](https://openshift.redhat.com/community/wiki/github-workflow-for-
submitting-pull-requests)

If you have any more questions, feel free to shoot me an email, I'd love to
help you out.

~~~
chesh
Thanks, this is one of the best one-page workflow examples I have seen for Git
and Github. Sometimes all the docs are so focused on the power of each
command, that they neglect the big picture of how to apply them in real world
workflows.

------
yen223
To me, the hardest part of using GitHub was using Git.

Once I wrapped my head around Git HEAD, remotes, branching, merging and all
that jazz, using GitHub was fairly trivial.

~~~
bad_user
All you need to know to get started:

    
    
       git init
       git add .
       git commit -m "some message"
       git remote add origin git@github.com:username/project
       git push -u origin master (the first time)
       git push

~~~
yen223
The very first thing I needed to know was

    
    
        git pull
    

because I initialized a Git repo from GitHub, with a README.md file.

------
gst
Why would anybody who doesn't know how Git works would want to use GitHub?

~~~
orng
Because they want to share their code and participate in open source projects?

------
daGrevis
> and git is pretty old.

No, it's not! It's released in 2005.

------
drivebyacct2
<https://help.github.com/>

Am I missing something? All of those things are covered in one of the articles
on help.github, especially under "Setup" and "Bootcamp".

~~~
newishuser
To be fair, if you're going to lifehacker to help you set up github, you're
probably not motivated enough to go tearing through github's faq. Quite
frankly, you're probably not motivated enough to finish the lengthy tutorial
they posted.

~~~
bradleyland
Agree completely. I'd extend that to say that if you're relying on Lifehacker
to help you set up Git/Github, this statement is probably false:

"Nevertheless, it's good to learn the old-fashioned way otherwise your options
in the simplified software won't make sense."

The Github app goes to great lengths to make the interaction with Github more
intuitive than the CLI Git client. Yes, your options are more limited, but I
work with several pseudo-technical users who use solely the Github app. You
can switch branches, checkout, publish, delete, and merge through the Github
app. The Github app even stashes automagically if you switch branches with
uncommitted changes. The only area that gets sketchy are conflicts, but many
of the people at whom this article is targeted will never encounter a
conflict, because they're the sole developer.

In any case, I can see absolutely no reason that a casual developer should
move past the Github client to the Git CLI client if they have no specific
need.

~~~
dhruvmittal
I sort of regard lifehacker as a web site for teenagers and hobbyists
nowadays, so I'm not particularly surprised at the quality and tone of their
technical work.

