Project defaults
- Use Editor config settings
- Use default .gitignore settings
- Disable unused features in project setting, e.g. forks, LFS, CI, registry, wiki, snippets. They can always be re-enabled later, but significantly reduce clutter when not applicable to a project.
- Take the time to plan and setup the project from the start
- Provide useful descriptions when creating projects.
Merging
- The default branch, usually called
master
, should be protected with no one being allowed to push. Allow changes to the default branch should be done through merge requests.
- Create a new branch for each new feature or fix. Be sure the new feature is complete before merging.
- Have someone other than the author review the changes before merging.
- Test and validate the changes before merging,
Commit messages
- Tell why the change was made. What was changes is evident in the commit itself.
- First line is a succinct, unambiguous, and complete summary. Subsequent lines should only clarify and expand what is summarized in the first line.
Large static files
- Large static files should be stored using the git-lfs
File types
- Prefer text based file formats, e.g. Markdown, over proprietary formats like PDF or Word.