How the Heck Do I Use GitHub?
lifehacker.com
lifehacker.com
Wait, we're using software first released in 2005? Holy crap, we may as well be using quill pens.
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.
Here's the thing: unlike witch-hunts of old, modern day witch-hunts do actually sometimes find witches.
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?
Github Pages is strictly for hosting static files. Thus, it's not meant for discussion between users. You're better of renting a VPS and hosting your project's website on it.
GitHub has a series of help articles, which could be regarded as a manual of sorts. They're at https://help.github.com/
* 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.
I think it speaks to how amazing a service github is that the more complicated set up process doesn't put anyone off.
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).
A typical Windows users might only deal with GUI stuff, but I've seen many break down to use a command line to root their Android phone (via adb and fastboot) that would have no reason to use a command line otherwise. Just need a good reason to use it and shown they don't have to fear it.
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.
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-...
If you have any more questions, feel free to shoot me an email, I'd love to help you out.
Once I wrapped my head around Git HEAD, remotes, branching, merging and all that jazz, using GitHub was fairly trivial.
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 git pull
because I initialized a Git repo from GitHub, with a README.md file.No, it's not! It's released in 2005.
Am I missing something? All of those things are covered in one of the articles on help.github, especially under "Setup" and "Bootcamp".
"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.