Git is a must for any Software $tittle.
Irrespective of what you do with software ( develop , modify , clean , test , debug or anything )even though if your coding level has not goes beyond combination of helloWorld with your name . Git is a must for you .The software industry is blooming , growing and all you can think about. Majority of software developers, programmers or anything you can call yourself tend to miss out some cool awesome and easy way of making their life better, and that is Git .
Get it clear that Git and Github are not the same
Git is a Distributed Version Control System
Github is a web-based Git repository hosting service. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features.
Why do I need to use Git for my daily affairs ?
Will git improve my coding standard ?
Git is not a pom ( Project Object Model ) or Building tool , but rather a tool that allow you
to make a version control on your file.
Daily , different programmer modifies their code either by adding new logic, syntax or any way ,but what happen is you want to recover or revert the changes you previously made ( Probably a day or two ) or you even want to see what has been done on the whole directory project ? You might been thinking that is possible with Ctrl Z on windows or Any Ctrl cheat book on any OS, or even create a system restore or revert point , but I am pretty sure it will take you more time or not possible for you to recover. So, what is now the best and easiest solution to that ?
With git , programmers , developers , engineers life become easier .
Firstly Git is a Distributed Version control system that records changes to a file or set of files over time so that you can recall specific versions later. That look awesome ?
Secondly , with Git your file ( propably source code or project directory) become version controlled ( No doubt , you may be able to do that with any machine ).
Imagine this ( or you don’t want to imagine )
A short break [ Joke (: A software developer
went for an interview , he was asked by the HR (
Head of human Resources ) that , Imagine you are on the eight floor and the first floor is on fire ;), what will you do ? The software developer replied with a very simple and straight forward answer , Guess that ?
Let’s continue ,so Imagine you are in a team of five software developers working together on the same file or working together on the same project. Ask yourself this, How will I keep track of others progress , ( by Progress I mean what they
are currently doing or what they have done ) with Git, you keep on your coding aspect , while checking others progress on the same or different file is easy
Still imagine ( Don’t stop your imagination ).
The other programmer introduces a perforated error to the same file your are working on . Now ask yourself this, How will I revert the project to the earlier version of the file ? Looks difficult , yes Git is the solution.
With Git all you have to do is
install Git , know the command to revert it back and all is done .
So, back to my joke :] of the Software developer who was asked a question on Imagination field, he replied by saying …. 🙂 I will stop my imagination
( Looks funny !!!) Exactly Software development is funny.
So , let s get going . Git is not the first software to ever provide a solution to version control , but Git perfect their solution to version control problem. Git is a Distributed Version Control Systems, by this we mean Git client’s don’t just check out the latest snapshot of the files: they fully mirror the repository. Thus if any server dies,
and these systems were collaborating via it, any of the client repositories can
be copied back up to the server to restore it. Enough grammar ( Hope you are convince that Git can make your Software life better ) let’s get going
My focus here is to explain Git Staging , Stashing and Re basing .
Starting with Git Staging.
Git stating is the process of preparing your file for commitment.
Commitment is the process of making commit , commit is the snapshot of the worked created.
Supose you are working on two files in the same directory , you are done with the first file , while the second file is not completed, and you wish to make a commit ( i.e snapshot of the work done ) and resume later , but yet you don’t want to commit the second file which is not yet completed.
Now , you stage the completed file and make commit , while the second is not yet completed
Or take staging as the cache of files you commit.
Now to Git Stashing.
Stashing is the process of removing dirty state in your working directory when your file or directory are been modified or staged.
Asumming you have working on a project where thing may not be in order ( i.e dirty state ) , and yet you want to branch to another git to do something else , yet you don’t want to do a commit … This is where Git stashing comes in.
See you soon till the next Git Staging , Stashing and Rebasing Real life examples.