DEV Community


Where do I start? Part 0: Bash Terminal, Git and Github/ version control

kevindsteeleii profile image Kevin Steele ・3 min read

Where do I start? Part 0: The Terminal and Version Control

So where's Part 2?

I did mention in Part 1 that I would follow up with a prequel of sorts focused on things you should probably have at least a passing grasp of. In this installment, I will be covering resources for the terminal and version control. So without further ado, here we go.

So what's a terminal?

The terminal is an application that directly interacts with the computer via typed commands as opposed to point-and-click GUI operations. The name terminal originates from the olden days of computing. Terminals were once a physical machine used to interface with computers the size of large rooms which you did by typing in commands literally and the idea kind of took root since then. By entering commands manually and strategically you can reduce the amount of time it takes to do fairly involved operations in the GUI with ease from the terminal. You may also hear terms like the command line, shell, bash, or console. However, in most cases, it's probably the terminal that's being discussed. If you want to get pedantic, look at this.

NOTE: This is my personal opinion but I strongly prefer git if I'm using a windows machine (I use Chromebooks, Windows machines, and a mac so...). While PowerShell is decent, the command prompt is pretty bad by comparison which is why unless you use .Net or something, it's generally not encouraged. But that does not mean you cannot be a unicorn and go ahead and buck the trend but you'll have to learn something Linux-y eventually.

The following are my recommendations for what terminal interface to use with which operating system and some links to educational resources.

Version Control and Git

Let's say you want to build a feature for a piece of software but you're working with a bunch of other people. How do you work on the same project together without messing each other's code up? Enter version control and git.

Version control is a system that keeps a record of a file or several files over their lifetime. You can access older versions later on if you need to or completely overwrite things if you so wish.

Git and GitHub

You'll hear Git and GitHub used interchangeably but the difference isn't that complicated. Git is a revision or version control system and GitHub is a service that hosts or stores projects that use Git. There are other hosting services like GitLab and GitBucket, but GitHub is the accepted standard in open source. It's ostensibly free (charges for private, team only accessible repos).

Next time I'll return to form with some short descriptions and resources for learning JavaScript and CSS preprocessors. As always any comments, concerns, and critiques are welcome.


Editor guide