1. What is git ~~>
Imagine that you’re good at cooking, and you want to make your own food recipe 🍜, you’ve tried it, and it was delicious, so you decided to write it down in a cooking notebook. Then you made the recipe again, but now you added some spices and did some changes to it, and as expected from you it was delicious too 😄, so you wrote it down. After several years you ended up with full notebook of different versions of your own food recipe, Whew…
However, if the recipe was written in a text file not a paper, How to save the versions of it in your PC ??? The first thing might comes to your head, is to make different text files for each version and save them in one folder.
This may help, but in most cases (especially in programming), where almost all projects contain multiple files (of different types, not only text), and each file has multiple versions. This becomes tedious and confusing to view specific version manually and try to figure out the differences between versions, if you have many projects.
The solution is using git.
Git is an Open Source Distributed Version Control System.
What dose it mean!!
Open source: means the initial form of git that is written in a particular programming languages (a.k.a source code of git) is publicly accessible—anyone can see, modify, and distribute.
Distributed version control system: this is related to what git offers.
- Version control system : git is the manager of project versions (history), means any changes to a project will be tracked and managed by git features.
- Distributed : the current project and its previous versions are accessible by all collaborators.
Why using git ??
git is useful in managing versions and collaborating with others on a project. In this link the benefits of using git are explained clearly.
2. What is GitHub ~~>
GitHub released after git, to run git commands in a user-friendly interface. The definition of GitHub from Wikipedia is:
A provider of Internet hosting for software development and version control using Git.
Let’s divide it into smaller parts to understand.
- Provider of internet hosting : GitHub has servers (a lot of computers that are located in data centers in different countries in the world) and they are connected to the internet. With only having internet access and opening GitHub website, you’re now accessing GitHub servers, so when you add files/data to GitHub it will be stored in the hard-drive of GitHub servers and the internal processes of the GitHub are run on its servers.
- For software development and version control using Git : here it comes the usage of GitHub. It’s used for software development (building programs, applications, frameworks,…) these kinds of software are continuously improving (Facebook now is not like 10 years before), that means history of versions, in which git and GitHub are the best choice for managing and distributing them. Git and GitHub can also be used in any kind of project unrelated to programming that needs collaboration and managing versions.
This was small and quick introduction to git and GitHub, hope the information provided was helpful. Next “How to download git for different operating systems-Part 1”.