The normal workflow to manage a repository in GitHub should be like below.
Creation of a new repo:
- Create a new repo in local machine.
- Initialize git in local repo with proper gitignore and readme.
- Push to GitHub.
Make changes in the repo:
- Create a new issue for the change. It may be a bug, feature request or some refactoring in the repo.
- Create a new branch from main branch.
- Change the code and test.
- Create a new pull request and let other people to review your changes.
- When review is done and it is ready to merge then squash all the commits and merge in to main branch.