We study harmonic morphisms of graphs as a natural discrete analogue of holomorphic maps between Riemann surfaces. We formulate a graph-theoretic analogue of the classical Riemann-Hurwitz formula, study the functorial maps on Jacobians and harmonic 1-forms induced by a harmonic morphism, and present a discrete analogue of the canonical map from a Riemann surface to projective space. We also discuss several equivalent formulations of the notion of a hyperelliptic graph, all motivated by the classical theory of Riemann surfaces. As an application of our results, we show that for a two-edge-connected graph G that is not a cycle, there is at most one involution on G for which the quotient is a tree. We also show that the number of spanning trees in a graph G is even if and only if G admits a nonconstant harmonic morphism to the graph B 2 consisting of two vertices connected by two edges. Finally, we use the Riemann-Hurwitz formula and our results on hyperelliptic graphs to classify all hyperelliptic graphs having no Weierstrass points.