A project evolves as a series of versions, each one got from the previous one by adding, editing, and removing files:
This diagram is called a mainline. Version 1.0 is the initial or root and version 3.0 is the head, baseline, or latest version. Presumably each version is an improvement over the previous one, and each version compiles and runs, although it may be incomplete.
In a team project, several programmers may be making changes at the same time. In this case a version sharing system needs to be put in place.
A version control system such as Git keeps all versions of a project in a shared database called a repository. It also provides five basic operations: branch, merge, push, pull, and commit:
Clicking their "pull" or "checkout" buttons, Fred and Wilma each make a local copy of version 1.0. Their working versions include all of the project files, but also include a database of all committed edits to the original.
Fred can add, remove, and edit project files, but these changes aren't recorded in the database until he clicks the "commit" button.
When Fred is happy with his working version he clicks the "push" button. This creates or updates Fred's branch of version 1.0 in the repository. (Branches can also be created remotely using the branch command.) Of course, Wilma is doing the same thing. In fact, some of her modifications may clash with Fred's.
Fred formally requests that his branch be merged with Version 1.0. (Confusingly, this is called a "pull request" by GitHub.) After a discussion period, a team meeting is scheduled and Fred's changes are adopted or rejected, one at a time. If successful, this creates Version 2.0, a new baseline.
Now it's Wilma's turn. Of course her changes may conflict with Fred's. It may be necessary for both to pull version 2.0 and make repairs. Fortunately, Version 1.0 still exists.
After creating a project in IntelliJ the team leader can share the project on GitHub (under VCS menu). This requires first setting up a GitHub account, which can be done from IntelliJ. If you already have a GitHub account, you'll need to register it with IntelliJ. After the repository is created, you can invite collaborators (team members + me). (Collaborators may also need GitHub accounts.)
Creating repositories, branches, commits and merges can also be done remotely through GitHub's user interface.
Git can be downloaded and configured to work with repositories not hosted on GitHub.
If team members feel overwhelmed by Git and GitHub, most of the version control operations (push, pull, commit) can be achieved manually copying versions and carefully documenting changes. The team leader should be in charge of maintaining the mainline versions.