Cyclic Mechanism can be really good option if you want to mange GIT projects with common problem in merge conflicts.

Please follow the following steps in each sequence of your work.


STEP 1:​ pull latest code from master branch


// pull command
$ git pull origin master 


STEP 2: ​ checkout to any branch (e.g. dev)


// change branch
$ git checkout -b dev


NOTE: to verify if you are on dev branch run following


// check branch
$ git branch


Following output should be achieved
master
* dev


STEP 3:​ Work on your code and make push to dev branch


// change branch
$ git push origin dev
(you can make multiple push during your work before making pull request explained below)


STEP 4:​ Once you complete and pushed your full work create ​ pull request​ in Git as
following
master <- dev


STEP 5:​ Add ​ Reviewers​ as per requirements


STEP 6:​ Wait till your response are reviewed and approved and merged to master branch
(If not approved you will be suggested with changes, complete those changes till merge is made)


STEP 7:​ Once approved your project can be merged to master branch then checkout to master on your local branch


// checkout to master
$ git checkout master


NOTE: to verify if you are on master branch run following


// check branch
$ git branch


Following output should be achieved
* master
dev


STEP 8:​ Delete your current dev branch


// change branch
$ git branch -D dev


NOTE: to verify if you have successfully deleted dev branch


// check branch
$ git branch


Following output should be achieved
* master


STEP 9:​ make latest pull of your work


// change branch
$ git pull origin master


CONGRATULATIONS !!!
You have completed all steps.
Next time when you work on new/same project repeat sequence from step 1