The most typical development cycle using a Version Control System (VCS) is:
Start a new branch, commit every functional version of the new feature as it is developed, send a pull request to the team, and merge new features into the project.
This approach ensures that developers work on features in isolation, allows for incremental changes to be reviewed and discussed via pull requests, and promotes a cleaner integration of new features into the main project.