Suppose you have a map $\alpha: A \rightarrow B$. There are certain associated items that "go forward" or "go backwards":

Points are sent forward. Given $p \in A$ we have $\alpha(p) \in B$.

Functions are sent back, i.e. pull back from $B$ to $A$. If we have a function $f: B \rightarrow \mathbb{R}$ then we get the composition $f \circ \alpha : A \rightarrow \mathbb{R}$.

Vectors are send forward. Given $v \in TA_p$ we have the derivative map $d\alpha_p: TA_p \rightarrow TB_{\alpha(p)}$ (or maybe your book calls this $\alpha_*$; in coordinates it's just the derivative matrix). So we get $d\alpha_p(v) \in TB_{\alpha(p)}$.

One-forms give linear functionals on each tangent space; that is, they're functions which take vectors as input. As such, just like functions, they're sent back. If we have a one-form $\omega$ on $B$, then we get $\omega_q : TB_q \rightarrow \mathbb{R}$. So given $p \in A$ with $\alpha(p) = q$ we get $\omega_q \circ d\alpha_p : TA_p \rightarrow \mathbb{R}$ is a linear functional on $TA_p$. We get a one-form on $A$ this way.

Basically, geometric objects "go forward" and functions on them "go back."


I think of it like this: If you have a mapping $\alpha: A \to B$, you would like to use it to transfer infrastructure like real-valued functions, vector fields, $k$-forms, etc, between $A$ and $B$. The mapping $\alpha$ already lets you assign to each point $x \in A$ an associated point $y= \alpha(x) \in B$, but you'd like to use it to form associations between functions and more.

The pullback/pushforward catch is that the association does not always run in the same direction. The mapping $\alpha$ takes points in $A$ and maps them to points in $B$, but for functions, the induced association which is the one you gave goes the other way, namely

$\alpha^*: C^{\infty}(B) \to C^{\infty} (A)$

$f \mapsto \alpha^*f$, where the new function $\alpha^*f$ is defined by $(\alpha^*f)(x) \equiv (f \circ \alpha) (x)$.

Because the induced mapping $\alpha^*$ runs in the reverse direction ($B$ to $A$) as $\alpha$ does ($A$ to $B$), it is known as a pullback. It helps to draw a picture. Here is one from Baez and Muniain's wonderful book Gauge Fields, Knots, and Gravity, which I highly recommend for this topic as well as many others. Note that the following correspondence holds between their notation and yours:

Yours $\longleftrightarrow$ Theirs

$A \longleftrightarrow M $

$B \longleftrightarrow N $

$\alpha \longleftrightarrow \varphi $

enter image description here

In the case of vector fields, these can be viewed as directional derivatives in a given direction at each point say of $A$, so a vector $v$ on $A$ should map functions $g$ defined on $A$ to scalars. We can use our already established pullback $\alpha^*$ that maps $C^{\infty}(B)$ to $C^{\infty}(A)$ to define a pushforward of the vector $v$ on $A$ to a vector $\alpha_*v$ on $B$, by

$(\alpha_*v)f \equiv v (\alpha^*f)$

since $v$ (which we already have) eats functions on $A$ to give a scalar, and we've fed it just that ($\alpha^*f$). Whatever scalar it gives, we take to be the result of applying $\alpha_*v$ to $f$.

From here, the recursive definitions continue, alternating between pullbacks and pushforwards. For example, the next step would be to define a pullback for 1-forms from $B$ to $A$ by thinking of them as things that eat vectors and give numbers, and using the pushforward for vectors analogously to how we just used the pullpack for functions in our definition of the pushforward for vectors.