Version Control with Git08 Jan 2017
What is Version Control?
Version Control is a program that tracks changes of files over time by virtue of version or revision which is a running numbering system.
Consider this scenario :
When you started you project and save it the first time, that is version #1.
When you worked on the project again and save it for the second time, that is version #2. And, so on.
Version Control allow you to see the differences between each revision, when it was made and who did it. It also allow you to have a backup (you normally save your project to a remote server). Also, when you mess up, you can also easily get back to a previous working version.
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/M-O8ZNW9icQ/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/M-O8ZNW9icQ?feature=player_embedded" width="320"></iframe></div>
Learn the Lingo!
Most version control systems have similar concepts. Lets go with Git.
1. Remote Repository (repo) : The remote server which we stored our files.
2. Local repo/Working Copy : Our local directory of files, where you make changes.
3. Head: The latest revision in the repo.
4. Origin : The “main” location of the files. Typically, on remote repo. But can also be on your computer.
1. git init : Make the current directory as a local repo. (local repo is the origin. no remote repo linked at this point)
2. git add : Put files into local repo for the first time, i.e. begin tracking it with Version Control.
This is called “staging” or put the file on “stage”.
3. git clone : Clone a remote repo to a local directory with origin pointing to the remote repo.
Doesn’t require git init. Also called checkout code from remote repo.
4. git status : Show files that are tracked in local repo.
Typically, will show files that are newly added, modified or untracked files.
5. git log : Show log of changes with their revision.
6. git revert : Revert local repo to previous revision state.
7. git commit : Commit all changes (or all files in staging) to local repo.
8. git push : Push your last commit to origin (typically, remote repo).
Also called checkin your code to remote repo.
9. git pull : Keep your local repo up to date with remote repo aka get updates from remote repo.
Obviously, also called update or sync.
10. git diff : view the differences between current codes (if changes are made) and the previous revision.
11. git merge : apply the changes from one file to another.
Typically, when you try to push a file, another developer has also pushed for some changes on the file after your last update with remote repo (so you haven’t got his changes yet)
12. git rm : remove the file from tracking.
After commited, the file then becomes “untracked” if you use “git status”.
<div class="separator" style="clear: both; text-align: center;"><iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/HVsySz-h9r4/0.jpg" src="https://www.youtube.com/embed/HVsySz-h9r4?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="separator" style="clear: both; text-align: center;"></div>