Epimorphisms of sheaves of sets
Solution 1:
Let $X$ be a topological space, and let $\alpha : \mathscr{F} \to \mathscr{G}$ be a morphism of sheaves on $X$. Let $j : \{ x \} \hookrightarrow X$ be the inclusion of a point into $X$. Then, by definition, the stalk of $\mathscr{F}$ at $x$ is just the inverse image sheaf $j^* \mathscr{F}$. But we know $j^* \dashv j_*$ (i.e. the inverse image functor $j^*$ is left adjoint to the direct image functor $j_*$), and left adjoints preserve colimits, hence if $\alpha$ is epic, so is $\alpha_x : \mathscr{F}_x \to \mathscr{G}_x$.
Conversely, suppose $\alpha_x : \mathscr{F}_x \to \mathscr{G}_x$ is surjective for every $x$ in $X$. Let $\beta, \gamma : \mathscr{G} \to \mathscr{H}$ be two further morphisms of sheaves, and suppose $\beta \circ \alpha = \gamma \circ \alpha$. We need to show $\beta = \gamma$. Certainly, we have $\beta_x \circ \alpha_x = \gamma_x \circ \alpha_x$, and $\alpha_x$ is epic by hypothesis, so we have $\beta_x = \gamma_x$ for all $x$ in $X$. Let $s \in \mathscr{G}(U)$, and consider $\beta_U(s)$ and $\gamma_U(s)$. Since $\beta$ and $\gamma$ agree on germs, at each $x$ in $U$ there is an open neighbourhood $V$ on which $\beta_V(s|_V) = \gamma_V(s|_V)$, and so by the unique collation property, we must have $\beta_U(s) = \gamma_U(s)$, and therefore we indeed have $\beta = \gamma$.