We consider practical network coding, a useful generalization of routing, in multi-hop multicast wireless networks. The model of interest comprises a set of nodes transmitting data wirelessly to a set of destinations across an arbitrary, unreliable, and possibly time-varying network. This model is general and subsumes peer-to-peer, ad-hoc, sensory, and mobile networks. It is first shown that, in the singlehop case, the idea of adaptively matching code-on-graph with network-on-graph, first developed in the adaptive-network-coded-cooperation (ANCC) protocol, provides a significant improvement over the conventional strategies. To generalize the idea to the multi-hop context, we propose to transform an arbitrarily connected network to a possibly time-varying “trellis network,” such that routing design for the network becomes equivalent to path discovery in the trellis. Then, exploiting the distributed, real-time graph-matching technique in each stage of the trellis, a general network coding framework is developed. Depending on whether or not the intermediate relays choose to decode network codes, three practical network coding categories, progress network coding, concatenated network coding and hybrid network coding, are investigated. Analysis shows that the proposed framework can be as dissemination-efficient as those with random codes, but only more practical.