By Madeleine Pramoedya, Intern at Zero One Group (ZOG)

ZOG recently launched its Intern Blog Series, highlighting the experiences of summer interns in various divisions. In this series, interns discuss what they have learned and how ZOG is preparing them for the working world.

Welcome to Part 2 of my journey, where I will be blogging about my experiences using Git as a version control system, and experimenting with GPG and asymmetric cryptography to encrypt and decrypt messages. You can read Part 1 of my journey here.

As a biochemistry major, taking part in ZOG internship programme for the past few months has challenged me to develop the necessary IT skills and become a newly-minted engineer. Hopefully, you’ll enjoy the learning experience shared in this post as much as I had when I did it!

Version Control and Git in More Depth

Version control is a system which records changes to a file or group of files so that a user can access specific versions of the file later. One such system is Git, which I have been learning to use and understand this week. The MIT Missing Semester session on Version Control helped me a lot to become familiar with the basic commands in Git. These commands include:

$ git init #creates a new git repository and stores data in the .git directory
	$ git add <filename> #removes named file from working area (files not handled / untracked by git) adds named file to the repository's staging area (files that will be involved in the next commit)
	$ git commit #creates a new commit (a revision or change to a file or group of files)
	$ git branch <name> #creates a new branch
	$ git checkout -b <name> #creates a branch and then switches to it
	$ git merge <revision> #merges into current branch
	$ git log --all --graph --decorate #visualises history

With these commands, I am able to do the basics using Git but it was far more useful for me to also be able to visualise the data model. To do so I used a tutorial website called Learn Git Branching . You can see how the model evolves as you make changes to the repository. For example, below you can see what happens to the model when the command git commit  is passed, a new commit (in this case represented as circles) is formed.

#git #version-control #cryptography #programming #machine-learning

Maddie’s Zero One Journey — Learning About Version Control and Cryptography
1.20 GEEK