As you’re researching bootcamps, you’ve probably come across terms like version control or Git or GitHub. At many coding bootcamps, Git is the first tool you’ll learn – including LearningFuze in California. Tim Davis, Chief Academic Officer at LearningFuze takes us through the basics of Git [video 1] and a 15-minute Git tutorial [video 2]. Learn all about the history of Git, why version control is an essential best practice in 2021, and how to use GitHub to collaborate with other developers.
Version control is a way to create snapshots of work progress over time. For example, the ability to undo and redo capabilities in programs like Microsoft Word and Photoshop. These programs record actions taken which then enable users to track changes and time travel to previous versions.
Git is a specific implementation of version control. Git is a tool that you use locally (on your own computer). Git is the predominantly used version control tool to track changes.
Git was created by Linus Torvalds who started the Linux kernel project; he was using another programming that he hated, so he built his own tool called GIT. The whole purpose was to be able to track changes to the Linux kernel as the community was working on it.
Before these version control tools existed, developers would do whatever they could to keep track of changes. Typically, that meant saving a file, then making changes and renaming it “Version 2”, then making changes and naming it “Version 3” and so on.
Developers that worked in the same building or on the same network would store their code centrally, so everybody could access the files through the internet or their local network in their office. People had to communicate really carefully with each other to prevent overriding each other’s work. They were constantly stepping on each others' feet. The collaborative aspect is where version control shines.
I still remember having this question myself!
Git is a tool that you use locally (on your own computer). On your local machine, you either use your command line interface or a GUI tool to operate the GIT version control system on your local computer.
GitHub is a web application that was created 2-3 years after GIT itself. The website serves as a place to publish work so other developers can see it. In that way, it is very important to open source development.
Think of GitHub as “Git with friends!” GitHub adds a social coding dynamic to project management. If someone would like to contribute to your project, they can see it on GitHub, get a copy of it on their local computer, work on it, upload their ideas and changes to GitHub, then suggest that you incorporate them into your project.
Commit is like "saving" for Git. A commit is a checkpoint in time for your project.
Clone is an entire copy of a project, including all of its commits, branches, everything about the project
Fork is like a sideways clone. When you commit history for a specific project, you can pick up from where they left off and go a different direction if you want. Forking is an important part of open source contribution when working on someone else's' project, when you don't have control over their repository; part of a collaborative workflow between strangers on GitHub
Pull request: creating a record on GitHub that asks the maintainer if they will pull your changes into their project. Then the maintainer decides if they will accept the changes or not.
Branch: if a commit is a snapshot in time of your project, then a branch is an alternate timeline. It’s a project that has its own commit history; when someone wants to make additions, they don’t make commits on the trunk of a project, they make commits on branches to keep them from affecting the project itself until the official pull request.
Any field that utilizes plain text configuration uses Git – primarily software developers and DevOps. There’s huge potential for fields like data science and UI/UX design to implement version control, but presently, they are still figuring out best practices.
Git and GitHub are massively dominant, but there are alternatives.
LearningFuze ensures that Git is a part of the curriculum because version control is a required skill in modern development. No software is built by one person. Commercial software responsible for business processes or revenue generation will require a team of developers. It is absolutely critical for developers to have an understanding of version control for collaboration.
On a practical level, at LearningFuze, you can't turn anything in without using GitHub, so Git is the first thing you learn as a student.
The basic theory is: If you like coding enough to be a professional developer, to be willing to do it full-time as a career - a way to demonstrate your willingness to code is to actually do it. Employers would like to see that you're actively coding so that they can feel confident about giving you a coding position.
Tim’s favorite resources (with links):
Find out more and read LearningFuze reviews on Course Report. This article was produced by the Course Report team in partnership with LearningFuze.
Liz is the cofounder of Course Report, the most complete resource for students researching coding bootcamps. Her research has been cited in The New York Times, Wall Street Journal, TechCrunch, and more. She loves breakfast tacos and spending time getting to know bootcamp alumni and founders all over the world. Check out Liz & Course Report on Twitter, Quora, and YouTube!
Hear from alumnae from General Assembly, Sabio, LearningFuze, and Skillcrush!
A General Assembly career coach shares their insights on 2023 tech hiring!
Springboard Career Coach Johnny responds with his thoughts!
Find out the biggest coding bootcamp news that happened this February!
Plus, 11 companies that hire tech job applicants without degrees!
Plus, how data entry skills are used on the job!
These are the 16 best tech job cities, plus their average tech salaries!
All the biggest news about coding bootcamp fundraises, tech hiring, university bootcamps, and more!
Plus, our tips on how to launch your tech career in game development & design!
Learn the differences between Career Services at College vs Coding Bootcamp!
Just tell us who you are and what you’re searching for, we’ll handle the rest.