Hi Jin,
So I just pushed a new version of ITensor that includes a function called "merge" that lets you merge two site sets together. Currently they have to be the same type of site set though possibly that requirement could be relaxed.
The basic way to use it is just:
auto msites = merge(sites1,sites2);
If you want to use only a subset of the sites in either sites1 or sites2 you can pass the named arguments "Start1", "End1", "Start2", "End2" (you can pass any subset of these arguments and they are 1-indexed). So like
auto msites = merge(sites1,sites2,{"Start1=",start1,"End1=",end1,"Start2=",start2,"End2=",end2});