To better understand the basic scenario when multiple developers are working on same project but on different files, let’s assume that developer 1 and developer 2 are working on same project in WebIDE.
Now lets check the steps Developer 1 and Developer 2 undergo with their outcome, as below:
Assumption: Developer 1 and Developer 2 are working on same project. Developer works only on File 1 and Developer 2 works only on File 2.
Illustration:
- In Steps 1-4, Developer 1 creates File 1 and performs a commit/push.
- In Steps 5-9, Developer 2 attempts to create File 2. At this point, Developer 2 has no idea of File 1 created by Developer 1. Developer 2 succeeds in creating File 2 and also able to commit it but Push operation fails due to inconsistency between GitHub version and Developer 2 version of project.
- In Steps 10-15, Developer 2 first synchronizes his local project with GitHub and then creates File 2. This time attempt succeeds.
- In Step 16, before Developer 1(or any third developer) can start anything all over again with project, first he/she needs to synchronize the branch with GitHub.
Let me know if you have questions!