Welcome back to the HTML All The Things Podcast your web development, web design, and small business headquarters. This week, Matt and Mike discussed the importance of version control focusing on one of the most popular (if not most popular) version control systems, Git. The duo debated when to learn version control in your coding journey and discussed how difficult it is to learn in comparison to the coding language of your choice.
This week we discussed and debated all things version control, including the most popular type - Git, but also some other more niche ones including CVS, Mercurial, and SVN.
What is version control? What types are there?
Episode Introduction | 00:01:27 - What is version control? - Version control systems (Git, CVS, SVN, Mercurial) - Who made git?
Why do we need version control?
How and why version control is used | 00:05:40 - History of changes - Revert unwanted changes - Multiple people contributing to a codebase - Merging and branching changes - Deployment and continuous integration (CI)
How and why version control is used (continued) | 00:15:53 - Multiple people contributing to a codebase
When should you learn version control? | 00:18:00 - Syntax learning versus learning git - Version control for solo coders and/or portfolio projects - The importance of version control in an interview - Version control in school curriculum (ie high school, college)
How and why version control is used (continued, again) | 00:42:02 - Merging and branching changes - Deployment and continuous integration (CI) - Summary/review of how and why version control is used
Git Workflows & Git Rebase
Mike's git workflow | 00:44:24 - Branch off dev with name of the JIRA ticket (ie BRD-123) - Do changes in that branch - Create a pull request into dev once changes are done - Pull requests must be reviewed and merged - Dev is then tested on QA or preproduction - Once testing is done dev is merged into the main and deployment is kicked off
If dev is updated before your pull request goes through | 00:48:30 - git pull origin dev - Merge management
Git rebase | 00:50:24 - Combine commits into one making history management easier - This can backfire if misused