Github source code management
- Authors
- Name
- Paul Bonnette
What is GitHub
GitHub is the largest shared repository. There are others out there but GitHub is one of the largest and most secure.
Is a Repository necessary for software development?
No. I've been developing commercial applications for almost 25 years without using it. I know a lot of developers who don't and never will. Yet it is a great tool and I highly encourage it.
What does GitHub do?
- Repository - It's a place you can securely store your code.
- Manage version control - Track when a bug was fixed, merge and move code around, then role back mistakes.
- Secure - Manages the security of moving around code.
- Encourages code sharing - Don't re-invent the wheel. Did someone else already build that?
- Integrates with final production servers - Vercel and other production servers integrate nicely with GitHub.
Repository
GitHub does a great job of storing projects. I often build my projects local then sync with GitHub. Vercel is watching and automatically re-builds my apps. It's seamless.
Managing Version Control
Managing version control is a big deal, even if you are the only programmer. Careful version control avoids mistakes commonly made as projects add team members.
Repositories hold your production code in a common location.
Code can be pulled locally by you, your fellow team members and even the public, if you allow it.
From there changes can be made. Improvements can be added. Tests can be run.
Finally this separate branch can be integrated back into the original project.
GitHub and other repositories assist this process. They manage the branching of code. They allow for testing. They assist in the re-integration of changes back into a single production build.
Manages Security
Sometimes you want to share you code with the public. Sometimes you want a project only accessible to a few team members.
GitHub also allows you to keep secrets, such as database passwords, from the public.
Integrates with final production servers
Many hosting platforms integrate with GitHub.
This allows you to mark a project "live" and anytime you update the code the hosting company will see the change and publish those changes.
GitHub is awesome
Most companies benefit from their services. Branch control encourages proper testing prior to release, with more people able to check the code and eliminate costly mistakes.
Experience
Although I would not claim to be an expert I do have a few years experience with GitHub.