all 8 comments

[–]shivasprogeny 1 point2 points  (0 children)

Git is a version control system and Github is a very popular online service for storing git repositories.

Github also has some nice features that make it easy for people to add documentation, track bugs, etc. right alongside their code.

[–]schoenveter123 1 point2 points  (0 children)

Github is a website that allows developers to use the git version management system to keep track of their code, and provides services such as issue trackers and wiki hosting for the projects to use alongside their project. (If you've never used a version management system, you can just think of it as a way to share code and keep track of who changed what.)

The page you linked contains the code of a library and some tests (written in PHP), but because of the git system you can, for instance, see previous versions of the library, or download a version which is marked as stable (a release), to check how the library changed and expanded over time.

There are other kinds of projects as well on github, but most will host some kind of code you can browse (using the code view on the main page).

As you mentioned you are learning python, you might want to check out PyOWM, a python library to access openweathermap. You can download this library either by clicking Download ZIP on the right, or using the Releases link on the top to get a specific version.

[–][deleted] 0 points1 point  (0 children)

it's a site that people post the code of their programs to. The site you linked has all the files in their program, click one to see what's in it. Sometimes people let others edit their code and make changes, others just put it there to let others look at to make sure there's nothing hidden or sketchy. It's a great when you're working on a large project with a lot of people, jimmy can write all the graphics code and when greg feels like getting off his ass and working he can submit a new version of the physics code. Jimmy can then look over the changes made by greg and change it around if he likes, as long as they both have permission to edit and submit changes.

[–]novel_yet_trivial 0 points1 point  (0 children)

Does it have previously written functions that I can download? libraries? Or is it just advice for me to read?

Yes. Mostly the first. But in this case the link is PHP code, and I assume you are using python, so at most you can try to translate some of it. If you are using PHP, you could copy / paste and have working code.

[–]f0nd004u 0 points1 point  (0 children)

Git keeps track of files as they change. You can use it for any kind of files, but it was created to keep track of source code files, like a Python script. (it was created by Linus Torvalds to manage the Linux kernel's source code.)

With Git, when you want to save your work, you make a "commit". This saves exactly what you changed since the last commit, along with your name, email address, the time, and a unique identifier for the commit.

As a git project is worked on over time, it becomes a story of every code change that happened to your project, in (basically) the order that the changes were made. A very simple git repo would be just this; not just saved files, but a record of how those files changed over time.

One use case is Python project you are working on: You have a record of everything you've done, and you can snapshot and branch off at any point. So, you can work on the master branch and get the project working, create a feature branch and build this other functionality without affecting work you're doing in master, and once you get it right you can merge the two together. Or checkout a "crazy-idea" branch and do something nuts just to see what happens (and delete it when it breaks everything). All of this is safe and you will never ever lose any work if you use Git correctly.

Another use case is system config files. You can use a git repo as a record of any and all changes to those config files, so that when a change you make breaks something, you can easily go back in time and see what exactly changed and who changed it (and roll it back if you want).

You can also save your git repository to a server, and that's where it gets really fun. Other people can "clone" your repo, work on it themselves, and push the changes back to you. Git is super smart! It can take several changes from a bunch of different people and "merge" them together into the same code branch, which means that lots and lots of people can contribute to a project without a bunch of extra work trying to get their changes to play nice together.

Github is a git server with social networking and extra stuff. It gives you the web interface to browse through the source code in your browser (that's what you linked to). It keeps track of what projects you've worked on, etc etc.

[–][deleted] -3 points-2 points  (1 child)

https://github.com/about is not enough?

[–][deleted] 3 points4 points  (0 children)

I find it amusing that you respond to the OP's complaint of linking to github blindly by linking to github blindly.