How do I post code to GitHub? - github

I've looked everywhere but I can't find any way to post code to GitHub. I tried making a repository but then it tells me I have to download a command prompt thing?
Why can't I just post code directly to it? Is there any other way?

If you are simply looking for a way to put some code online, then you can use another feature of that site calles "gists".
If you are on a mac, then there is another app you can use (made by the GitHub guys).
But the most relevant piece of software is what you refer to as " command prompt thing", which is a version control application with a relatively steep learning curve called GIT.
On a final note you might be misunderstanding what GitHub is useful for and might be better off looking at something a bit less complicated. If you are willing to explain exactly what you are looking for then i'm sure the StackOverflow community will be willing to help you :)

You may use github's gist.
Although, the main point of using github is to share git repositories.

While GitHub has recently added limited support for editing files through the web interface, it's intended as hosting for software projects using the Git source control software. The most-used interface is the command-line git tool, though there are graphical interfaces such as TortoiseGit as well as Git components for many IDEs.
If all you're looking for is a place to put small code fragments for sending to others (like a pastebin), then you probably want Gists instead: http://gist.github.com/

Github is a code hosting site for Git.
The "command prompt thingy" is likely Git. If you don't use Git, it's unlikely you want Github either.
Luckily there are graphical Git front ends such as SmartGit.

Related

Use versions w/ github remote repositories (in this case w/ platformio)

This might be a basic github question, but I'm having trouble finding the right keywords to google because I don't know the terminology. Apologies and thanks in advance.
I've noticed with library dependencies in library.json, under "dependencies", there is often a github remote repo link with a version number after the #
For example
https://github.com/codewitch-honey-crisis/htcw_ili9341.git#1.0.0"
What is that exactly after the #? A branch? A release?
More importantly, how do I make my github repo expose these. Like, I want to make a 1.0.0 one now for htcw_ili9341.git but later I may want to make 1.0.1
Using the github website, and/or the command line, how do I go about this?
It would be really helpful if you explained as you went as well.
So you know where I'm coming from with this, I've been using github for awhile but only for the most basic things, and driving it all through VS Code for the most part, sometimes resorting to the web interface and only occasionally dropping to the command line, which I've done a handful of times to resolve merge conflicts. I'm not an expert, but not completely new to it either.
anything after # is never posted to the server. It's basically a comment in this specific instance.

How do I upload small exercises to GitHub?

So basically I am trying to learn C# and JS and I'm doing so by reading documentation and solving some small exercises.
I read somewhere that uploading most of your work to GitHub is helpful when you apply for a job so people can actually see that you've been working.
Since I am not that familiar with GitHub (I read some documentation but it confused me a bit) I wanted to know what is the best way to upload my exercises there?
I think you should do some beginner course about "Git" and "Github".
It's definitely a good idea to use GitHub desktop. This tool makes it easier to manage and commit changes.
The easiest way would be to create a git repository for each of your projects. Put the files in there and upload them to GitHub.
Try looking at GitHub documentation like this to get started:
https://guides.github.com/activities/hello-world/

Alternatives to using a repository for Eclipse

I'm programming something by myself. All I want to do is be able to simply roll back to previous versions in case I find problems. What's something quick and simple to setup that works in Eclipse?
Assuming you are talking about a version control repository, if you install the git tools on your machine you can have a local repository that allows you to rollback should it be necessary. Its not really any trouble to set it up.
git init
git add whatever.c
git commit -a -m "message"
If you're looking for something simpler than this, you won't be able to find any version control packages that work without a commit cycle. If you're looking to something that will just allow you to rollback to a set moment in time you may be better off looking for an automated backup solution every X minutes... but it won't work right in eclipse.
There is a way, one is to right click and select "restore from file history"
Or File Export project, and save it on your drive.
I would strongly recommend investing an hour in learning the basics of source control, either GIT or Mercurial. I resisted this for a long time, thinking that it is "just me" and I don't need all that complexity.
Turns out using either was pretty simple. The GitHub site provides an excellent introduction. MercurialEclipse is also fairly straightforward AFTER you put in some upfront time learning about it.
There is an excellent primer on DVCS in general, and Mercurial specifically by Joel Spolsky (Co-founder of Stack Overflow, by-the-by) HERE:
hgInit by Joel Spolsky
And GitHUb is an Awesome site as well,with an excellent introduction HERE:
GitHub
It took me a while to get it all straight (the basics) as I am completely self-taught. But I have never looked back.

Is it possible to somehow migrate from Google Code to Github?

We have a fairly large project, and I've decided that Google Code is not quite living up to expectations. Github looks like a much more suitable platform -- but I feel like there's no escape for us. Is it a case of migrating stuff over manually? We're using svn currently, so I understand that we'll need to move to git somehow - is this going to be possible considering that I don't have admin access to our repository? Also, I know this is subjective and I don't want to start a holy war, but please also comment on your feelings about Google Code vs Github. Should we also be considering SourceForge?
I've used all, and now I am using github and I am completely satisfied. Sourceforge had annoying ads and was slow, google code didn't have the features I wanted/needed.
As for moving to github, they have a guide here, the process should be quite simple:
http://help.github.com/svn-importing/
We're using svn currently, so I understand that we'll need to move to git somehow - is this going to be possible considering that I don't have admin access to our repository?
Nope, you can use git svn to convert a repo, even if you don't have admin access. Here's a good tutorial (from one of the GitHub guys, no doubt) that explains how to convert an SVN repo to Git (including how to migrate tags and branches properly, which git-svn doesn't do very well).
but please also comment on your feelings about Google Code vs Github.
I've never used Google Code for personal projects. I know from a visitor's standpoint, I like the interface and tools used by GitHub a lot better.
Should we also be considering SourceForge?
Ugh... I personally think SourceForge is probably the worst of the free source code hosting facilities nowadays.
I think before you go through all the work to migrate to github (which is great yes) I would consider what your problem actually is. If it is just that you are using svn and that is not a distributed version control system you could just migrate your google code repository to be HG (Mercurial) based and you would get all the benefits of a distributed version control system but could otherwise stay at google code (which has great features that github does not have as well..)
Google announced today that they're closing Google Code. They added a migration tool to export projects to GitHub, it just takes one click.

Programmatically add files to a GitHub download page

[[Please note that Github has changed a lot since this question was first asked; instead of "download page" read "new release".]]
I generate PDF documentation as part of my projects and I'd like them to stay in sync with my Git repository (it's not always possible for people to build their own since they often use proprietary fonts).
However, it's not really "correct" to add the PDFs to the repository since it's a derived file; furthermore, doing this adds significantly to the size of the commits and the size of the repository overall.
Is it possible to programmatically send files to the GitHub download page? (I know that tagged commits are automatically added there with git push --tags but I don't know where this is documented. I suppose I could do something fancy by adding a separate branch only containing the PDFs themselves — as done by the GitHub user pages — but I'm a bit rusty on using Git this way.)
Github API v3 supports this feature.
GitHub also provides a maven plugin based on the java API that is part of the Eclipse Mylyn connector for GitHub.
There is a ruby gem called github_api.
The other answer talks about net-github-upload which is available for perl and ruby.
check out for net-github-upload which is available
for perl: http://github.com/typester/net-github-upload-perl
and ruby: http://github.com/Constellation/ruby-net-github-upload
With that you can write a small script to upload and update your PDF easily. To sad there's no easy way provided by github guys themselves..
cheer!
The GitHub blog post announcing that this feature has been disabled: https://github.com/blog/1302-goodbye-uploads
I take it that by "GitHub download page", the owner means a repo–more specifically a branch– that can be downloaded via the "download" button.
If you want to add a file to a repo using the API, you will have to become familiar with the process described here: https://developer.github.com/v3/git/
It's not the easiest process in the world, but mastering it will force you to understand the concepts of blobs, trees, commits and references, amongst others.
You can't just "send a file" to a repo because you're working with Git, and Git has some "internal expectations" that you just can't ignore (it's impossible to think of GitHub as some sort of host that you can ftp). Explaining the flow required to create a file in a GitHub repo is certainly beyond the scope of the original question, but to provide a clear answer: no, it's not possible to programmatically upload a file on GitHub, but yes it is possible to programmatically push a file on GitHub".
There's a PHP library named GitHubTreePHP that lets you automate the process (Disclaimer: I wrote it).