For revision control, I was a long-time svn user, but years ago switched myself and my teams to Git.
Git is a distributed version control system that has become the de facto standard for source code management in the software industry. It allows multiple developers to work on the same codebase without stepping on each other's toes. Git tracks changes to files over time, so you can always see who made what changes and when. This makes it easier to track down bugs and understand the evolution of a project. Git also supports branching and merging, which allows developers to experiment with new features or fixes without affecting the main codebase.
GitHub is a web-based hosting service for Git repositories. It provides a user-friendly interface for managing and viewing Git repositories, along with a host of other features that facilitate collaborative development. With GitHub, you can easily share your code with others, contribute to open-source projects, and review code changes. GitHub also integrates with many other tools, making it a central hub for many development workflows.
GitHub Actions is a CI/CD (Continuous Integration/Continuous Deployment) tool that allows you to automate your software workflows directly within your GitHub repository. With GitHub Actions, you can build, test, and deploy your code right from GitHub. You can also assign tasks and workflows based on certain events, such as pushing code to a branch or creating a pull request. This level of automation can greatly increase productivity and ensure consistent quality of code.
GitHub Pages is a static site hosting service that takes HTML, CSS, and JavaScript files straight from a repository on GitHub, optionally runs the files through a build process, and publishes a website. It's a great way to host project pages, documentation, or a personal blog. One of the key benefits of GitHub Pages is its tight integration with GitHub, which means you can manage your website content with the same Git workflows you use for your code.
The lake_washington_and_sammamish_temps project uses Github Actions to push code unit test coverage results to Github Pages whenever code is pushed to the main branch.
GitHub Issues is a robust tracking system that allows you to track bugs, enhancements, or other requests related to your project. It's more than just a bug tracker - it's also a great way to manage your development tasks and workflows. You can assign issues to specific team members, label them for easy searching, and reference them directly in your code commits. This makes GitHub Issues a central part of your project management toolkit. It's great, but frankly it doesn't yet quite compare to other project management tools like Asana or the toolset provided by Atlassian (Jira, etc), albiet at much higher costs.
All for the wonderful low price of: under $10 per month for a Github account.
Next: Coding Languages