I am using TFVC (Team Foundation). Suppose I have a Main branch and a Dev branch, which was branched from Main branch. So initially they are same. Then I have the following operations (by order of time):
1. make some change on Dev branch (assume I created change set cs1, sc2, sc3), but not merged to main yet.
2. make some change on Main branch (assume I created change set cs4, sc5, cs6)
3. Merge the above 2) Main branch change to Dev branch (by selecting change set cs4, sc5, cs6)
Up to now, DEv branch has its own change and changes made on Main branch, and main branch only has its own changes. Ideally, after I finished 1) change on Dev, I should have merged it to Main branch first. But since I didn't do that, now if I want my main branch to get changes on Dev, when I choose "merge by change set" option, should I pick "sc1, sc2, sc3, sc4, sc5, sc6" ? if I only pick "sc1, sc2, sc3", it would be problematic because some of the change may have been overriden by sc4, sc5, sc6.. So if I select "sc1, sc2, sc3, sc4, sc5, sc6" it seems to guarantee I get the latest codes, but y doing it this way it is little odd --- "sc4, sc5, sc6" were actually already in Main branch and I am merging them back again...
Can somebody tell me if this is the correct way to do it if I choose to use "merge by change set" ? I know I can also do "merge by version" but let's assume I use "merge by change set" for now.