"Covering-flat" part in definition of morphism of sites Let $(\mathcal{C},\mathcal{I})$ and $(\mathcal{D},\mathcal{J})$ be sites where $\mathcal{C}, \mathcal{D}$ are categories and $\mathcal{I}$ and $\mathcal{J}$ are Grothendieck  topologies on $\mathcal{C}$ and $\mathcal{D}$ respectively.
I am trying to understand what it means to say  a morphism of sites $(\mathcal{C},\mathcal{I})\rightarrow (\mathcal{D},\mathcal{J})$.
This should be atleast a functor $F:\mathcal{C}\rightarrow \mathcal{D}$.
As Grothendieck topologies comes with notion of covering, it is reasonable to ask that this functor $F$ is compatible with notion of covering. That is, for each covering $\{U_i\rightarrow U\}$ of $U$ in $\mathcal{C}$ the collection  $\{F(U_i)\rightarrow F(U\})$ is a covering of $F(U)$ in $\mathcal{D}$.
As there is a condition on pullback, that is, for each covering $\{U_i\rightarrow U\}$ for $U$ in $\mathcal{C}$ and a morphism $V\rightarrow U$ in $\mathcal{C}$, the pull-back $\{U_i\times_U V\rightarrow V\}$ is a covering for $V$ in $\mathcal{C}$, we can ask that, $F$ is compatible with this notionof pullback, that is, for each covering $\{U_i\rightarrow U\}$ of $U$ in $\mathcal{C}$ and a morphism $V\rightarrow U$ in $\mathcal{C}$ we have  $F(U_i\times_UV)\cong F(U_i)\times_{F(U)}F(V)$. As we have already asked that $\{F(U_i)\rightarrow F(U)\}$ to be a covering for $F(U)$, it will automatically follow that $\{F(U_i)\times_{F(U)}F(V)\rightarrow F(V)\}$ is a covering for $F(V)$.
This is what I think a morphism of sites should be like. 
n-lab page on Morphism of sites asks that the functor is "covering flat". 
 I think it is more than what I have asked above. I only know what is flat functor but could not track what is covering flat. I see that every flat functor has the property that I have mentioned above, but it is more than that.
So, Is my definition of morphism of sites not correct/reasonable?    
 A: Short answer: A morphism of sites as you define it (a functor which preserves covers and the fibre products showing up in the gluing condition) gives rise to an adjunction
$$f_s:\mathrm{Sh}(\mathbf{C}) \leftrightarrows \mathrm{Sh}(\mathbf{D}):f^s$$
of sheaf categories. The condition of covering-flatness ensures that $f_s$ is exact. (The resulting structure is known as a geometric morphism of topoi.)

EDIT to clarify subscript/superscript Notation:
In the classic example of a map $f:X \to Y$ inducing a morphism of sites $f^{-1}:\mathrm{Op}(Y) \to \mathrm{Op}(X)$, the functors above are the direct image functor
$${(f^{-1})}^s = f_\ast$$
and the inverse image functor
$${(f^{-1})}_s = f^\ast.$$
("The ${(-)}^{-1}$ exchanges subscripts and superscripts.")
This notation is commonly used in the general case. The adjunction $(f_s \dashv f^s)$ is then written instead as $(f^\ast \dashv f_\ast)$.

Long answer:
A functor of small categories
$$f:\mathbf{C} \to \mathbf{D}$$
gives rise to an adjoint pair of functors between presheaf categories
$$f_p:\mathrm{PSh}(\mathbf{C}) \leftrightarrows \mathrm{PSh}(\mathbf{D}):f^p.$$
The functor $f^p:\mathrm{PSh}(\mathbf{D}) \leftrightarrows \mathrm{PSh}(\mathbf{C})$ is given by composition with $f$. It preserves limits because limits in presheaf categories are computed pointwise.
We may build its left adjoint $f_p$ explicitly: it is given by left Kan extension along $f$. The functor $f_p$ preserves finite limits if and only if $f$ is representably flat [nFF, Prop 2.6]. (The left Kan extension is pointwise computed by a colimit. Representable flatness ensures that these colimits are filtered. Finite limits commute with filtered colimits.)
Now assume $\mathbf{C}$ and $\mathbf{D}$ are sites.
Sheafification and inclusion over $\mathbf{C}$ form an adjoint pair
$$L_\mathbf{C}:\mathrm{PSh}(\mathbf{C}) \leftrightarrows \mathrm{Sh}(\mathbf{C}):I_\mathbf{C}$$
and similarly $(L_\mathbf{D} \dashv I_\mathbf{D})$.
If $f$ preserves covers and the fibre products present in the gluing condition, the functor $f_p$ preserves sheaves: the composite
$$f^p \circ I_\mathbf{D}:\mathrm{Sh}(\mathbf{D}) \to \mathrm{PSh}(\mathbf{D}) \to \mathrm{PSh}(\mathbf{C})$$
lands in the subcategory $\mathrm{Sh}(\mathbf{C}) \subset \mathrm{PSh}(\mathbf{C})$.
It has a left adjoint
$$L_\mathbf{D} \circ f_p: \mathrm{PSh}(\mathbf{C}) \to \mathrm{PSh}(\mathbf{D}) \to \mathrm{Sh}(\mathbf{D}).$$
The adjunction restricts to an adjunction of presheaf categories
$$f_s:\mathrm{Sh}(\mathbf{C}) \leftrightarrows \mathrm{Sh}(\mathbf{D}):f^s.$$
The functor $f_s$ is the composite $L_\mathbf{C} \circ f_p \circ I_\mathbf{D}$.
We're again looking for a condition that will make this functor exact. As a left adjoint, it already preserves colimits.
Now comes the punchline:
Covering-flatness of $f$ is equivalent to the requirement that the composite $L_\mathbf{C} \circ f_p$ preserve finite limits [nFF, Prop 2.15]. (The reason is the same as in the story for presheaves, except the fact we sheafify allows us to use a slightly weaker condition than representable flatness.)
This means $f_s$ is exact iff $f$ is covering-flat.
[nFF] https://ncatlab.org/nlab/show/flat+functor
