A makes a pull request to the main branch from its a_branch.
The above pull request gets merged.
A fetches upstream.
A merges upstream/a_branch into his origin/a_branch.
The above scenario is an example of circular merge. This kind of merge makes no sense. So, we should not do circular merges.
Instead, we should follow the below practice.
A makes a pull request to the main branch from its a_branch.
The above pull request gets merged.
B fetches upstream.
B merges upstream/a_branch into his origin/a_branch.
About Circular Merge
A is a person and works on a_branch in A repo.
Lets consider this scenario.
A makes a pull request to the main branch from its a_branch. The above pull request gets merged. A fetches upstream. A merges upstream/a_branch into his origin/a_branch. The above scenario is an example of circular merge. This kind of merge makes no sense. So, we should not do circular merges.
Instead, we should follow the below practice.
A makes a pull request to the main branch from its a_branch. The above pull request gets merged. B fetches upstream. B merges upstream/a_branch into his origin/a_branch.