Need help understanding textbook solution
Try to think of it that way. A code $C$, is just a subspace. A generator matrix is simply one basis of that subspace (i.e., each row is a basis element).

So in order to create the subspace $C_1+C_2$, you can take a basis of $C_1$ (for instance, the rows of its generator matrix), and add to it a basis of $C_2$. The new set is not a basis anymore, but if you eliminate dependencies it will be, and this new basis can be seen as the generator matrix of the new subspace (why?).

Same goes with $C_1 \cap C_2$. This subspace contains only elements which are both in $C_1$ and in $C_2$. Stated via  parity matrix, it contains only vectors that are in the kernel of $H_1$ and in the kernel of $H_2$. What happens if you build a matrix $H$ that contains both the rows of $H_1$ and of $H_2$? Which vectors will be in the kernel now?