It would not have died if I knew Git then

It would not have died if I knew Git then

·

7 min read

It would not have died if I knew Git then

Image for post

Photo credit: http://smutch.github.io/VersionControlTutorial/

In 2003 I met my first love. For the very first time in my life, I found something that I connected with and could not stop thinking about other than books. I saw a desktop computer for the first time in 2003. It was also the first time I ever heard the word. Sometimes, I wondered what I was reading because I don’t remember stumbling on the word before then.

I was a reader; I read novels, books on psychology, engineering, medicine and what have you. I would walk on the streets and pick papers and stuff them in my pocket to read when I got home. I was crazy; at some point, my family thought something was wrong with me. I had a code: “Thou shall never be caught without a book”, and I lived by it.

In August 2003, I followed my parents to visit an in-law in Calabar, and that was where I saw it. There it was staring at me, and I was staring in return. Like two people in love but not having the right words to express it; I was lost. One of the boys in the house explained to me how it worked and at that moment, I knew the story of my life will start and end with it.

In 2011, I got a laptop as a gift from my father. Lucky for me, I met a microbiologist who was a computer programmer and worked with my father. He encouraged me to start programming, and that was how my journey started.

My first ever project was a Computer-Based Testing (CBT) system. I believed writing JAMB (Joint Admission and Matriculation Board) and WAEC (West African Examination Council) examination using computers would eradicate errors in marking, malpractice and facilitate result delivery. Turns out I was right, but my dream never made it to reality and I will tell you why.

In November 2011, I had completed a working prototype of the CBT system. I used PHP for the server side, MYSQL for the database, and HTML/CSS for the frontend. I was working towards presenting it with a proposal to JAMB and WAEC when tragedy struck.

I had a struggle with a Mobile Police Man who was trying to confiscate my laptop illegally, and in the process, my laptop dropped. That day my heart was fried. My motherboard was destroyed alongside my hard disk and I lost everything. I had no backup anywhere; all my projects, my files, ideas I had documented, everything was gone. I fell into despair. Not having money to get a new laptop, I waited till 2014. I had lost passion for the project due to discouragement and that was the death of a dream.

I came across Git and Github while preparing for the Andela BootCamp. Git is a version control system (VCS) that helps you keep a record of changes you make to files in your project. It keeps track of the changes and enables you to create checkpoints (using commits and/or branches for your work) for each change. These checkpoints can also be seen as versions of your project. For example, you create a web form and add a commit, and you decide to edit that form tomorrow, the new change can be considered a new version of your original work.

Github is a website for hosting your repositories. A repository is simply a place where you can store your project files and folders. A new repository is created for each project on Git. On your computer, a repository is represented by a folder. After working on your project or a part of it on Git (offline), you can push it to your repository on Github.

With version control system, you can keep track of changes to your project files, when the changes were made, and what exactly was changed. You can decide to go back to an older version of your work or even get people to join you in building your project.

Although they are other version control systems like CVS, SVN, Mercurial, Git happens to be the most popular. I find Git very interesting because it has solved so many of the problems of having to lose your work or having someone far away from you give feedback or collaborate with you. I can’t also forget the way people look at me when I am typing Git commands in my terminal. It makes me feel like a guru (laughing).

Thinking of things now and what I have learnt, I realized that if I knew Git and Github then, I would not have lost my project. Even though the main cause of the death of my dream was me giving up, I would have avoided it altogether if I had used version control.