git scenario/workflow... lets have in repo: file1.txt (line1) file2.txt (line1) file3.txt (line1) 1. user 1 create branch task1 2. user switch to branch task1 3. make sure you are in task1 branch (rightclick) 4. user 1 actions: delete file1.txt add line in file2.txt (line2) change line in file3.txt (line11) add file4.txt (line1) 5. add files + commit changes to local repository (task1 actions) 6. repeat 4, 5 as many times as you want... 7. user 1 FINISHED his work and is ready to commit his work 8. user 1 checkout to master (notice files has changed) 9. user 1 pull master 10. user 1 merge from task1 11. user 1 delete task1 12. user 1 push to remote server ---meanwhile--- 1. user 2 create and checkout branch task2 2. user 2 actions: add line in file2.txt (line3) change line in file3.txt (changed) 3. user 2 commits changes (task2 actions) 3. user 2 FINISHED his work and is ready to commit his work 4. user 2 checkout to master 5. user 2 pull master 9 (see the changes by user 1) 6. user 2 merge from task2 and see conflicts 7. user 2 resolves conflicts (commit) notice: theirs - remote = files from task2 mine - local = files on remote repository save file and resolve 8. user 2 commits resolved files 9. user 2 push 10. user 2 deletes local task1 --- 1. revert back using checkout to a branch 2. branching according to jira tasks 3. if you use fetch, you have to use pull (fetch does not moves head