What is it, why do we use it, were did it come from, list of commands, details and history.
Version control systems(also known as revision control, source control, or source code management) are tools used by developers and engineers to manage source code and projects, saving work and making changes overtime. They are used for computer programs, documents, websites and other collections of information. Version control systems help teams work faster, quicker, and more efficiently.
Margaret Heafield Hamilton, who was born August 17, 1936 Is highly credited with coining the name software engineer and later that really helping in legitimizing the practice. She was a American computer scientist, systems engineer, and business owner who is well known for her time spent working on the Apollo program. It was during the early missions she started using the term Software Engineer and eventually the idea gained some respect and the field took off.
Apollo’s software derived from the basic design of the Mars mission. Designer Hugh-Blair Smith created a language called “Basic”, a low-level assembly language of about forty instructions (distance from the high-level BASIC programming language developed at Dartmouth at about the same time).
We are defiantly very lucky we are working with computers in the 2000’s instead of the early 1970’s. You are not wrong if you consider the early years of computing to be much like the stone age but with computers. Code would get lost, was not easily saved and shared. Apparently employees working on projects could go MIA leaving teams left with software difficulty's. Basically just did not sound like a very good time.
The world wide web was invented in 1989 it automated sharing of information between scientist, university's, and institutions world wide. not long after in 1993 anyone who could afford it and actually wanted to could buy a computer and join in on the fun.
Some notable languages that were developed in this period include:
- 1990 — Haskell
- 1990 — Python
- 1991 — Visual Basic
- 1993 — Lua
- 1993 — R
- 1994 — CLOS (part of ANSI Common Lisp)
- 1995 — Ruby
- 1995 — Ada 95
- 1995 — Java
- 1995 — Delphi (Object Pascal)
- 1995 — PHP
- 1997 — Rebol
Web Development began in 1989, Data science started around 2001 and exploded in popularity after 2010
Back to the original topic, Git. It was invented for the Linux kernel to be a better version control systems and is by far the most widely used version control system today(Google search result data below).
Git the most popular version control system in 2016. It enjoys its hefty 70% of all the search interest among these five VCSs.
Mercurial, with its 13.5% share, is still a tool of choice for companies like Facebook, Mozilla, Nginx, and NetBeans.
Subversion (SVN) has 13.5% share as well, still used by some of the largest companies all over the world, such as Backblaze, FreeBSD, Mono, and SourceForge.
Perforce has gained only 1.5% interest in 2016. It has been widely used by Google, until they built their own VCS called Piper in 2015.
Concurrent Version Systems has the smallest share of (0.8%) in 2016, even though many IDEs have built-in CVS support: Eclipse, Emacs, NetBeans, PyCharm, and others.
Being on a windows computer I use Ubuntu a Linux distribution system. Windows terminal does not work well for data science and web developing needs without lots of installations and even then you’ll find some commands are different then what is on Mac and Linux.
There are over 600 Linux distro’s and about 500 in active development
A great reference for what a local repository looks like is this NASA API.
Important Git / local commands
* Ten Git commands every developer should know
* Thirty-seven import Linux commands you should know
Being a data scientist I began my learning experience in GitHub just like most people these days probably. According to a google search only 43% of collage students report to using it for school work. Well most do go on to say that they use it for there personal projects. So how important is Git/GitHub for aspiring programmers really? Very important. Its important to be working and staying active and GitHub is the most important platform to host all of you hard work, show your work, and contribute to projects all over the world.
months into my data science career I had to leave the comfort of my google Collab notebooks to learn important skills in my sub shell kernel. Leaving behind scikit-learn to develop API’s and learn Databases from my terminal
Its very likely if you are a data scientists, web developer, or software engineer your going to have to do work in a local environment(shell terminal or Linux kernel). Why, you might ask? Well it allows a large team to work on and contribute to a much more complex product ex, a website or product requiring web development, design, and machine learning technology. Its important to know the best git practices just in case bad git is one of a more senior co-workers pet peeves.
The future is Git-Hub
GitHub was bought up by Microsoft for 7.5 billion dollars in 2018, formally considered to be a monopoly, They employ 163,000 people and sell tons of stuff. Xbox’s, all the new Halo games, and even LinkedIn premium accounts. GitHub is a must for every programmer and computer scientist at every level of their career and that's defiantly not changing anytime soon. Not a ton has changed since Microsoft purchased it a few years ago. It will always be free. It might look different years and years from now but it’s surely going to be around forever, hopefully I’ll never have to cringe through a similar amazon product if they ever attempt to strengthen there brand of web services, just before buying some medium sized country somewhere.
Getting Started Git/GitHub
Great GitHub accounts for Data Scientist to follow (and a link to mine)
Source, Open. “Version Control.” Wikipedia, Wikimedia Foundation, 24 Jan. 2021, en.wikipedia.org/wiki/Version_control.
source, open. “Margaret Hamilton (Software Engineer).” Wikipedia, Wikimedia Foundation, 11 Feb. 2021, en.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer).
source, open. “History of Programming Languages.” Wikipedia, Wikimedia Foundation, 8 Feb. 2021, en.wikipedia.org/wiki/History_of_programming_languages#1990s:_the_Internet_age.
Mindell, David A. “What Programming Languages Were Used to Go to the Moon?” Translated by Guy CoderGuy 21.6k55 gold badges5252 silver badges112112 bronze badges, Stack Overflow, 1 Mar. 1958, stackoverflow.com/questions/739561/what-programming-languages-were-used-to-go-to-the-moon#:~:text=Apollo%27s%20software%20derived%20from%20the%20basic%20design%20of,developed%20at%20Dartmouth%20at%20about%20the%20same%20time%29.
random, sources. “Version Control Systems Popularity in 2016.” RhodeCode, rhodecode.com/insights/version-control-systems-2016#:~:text=sum%20this%20up%3A-,Git%20is%20the%20most%20popular%20version%20control%20system%20in%202016,Mozilla%2C%20Nginx%2C%20and%20NetBeans.