[step:Construct the inverse from the inverse local matrices]
For each $i \in I$, define
\begin{align*}
\Psi_i:U_i \times \mathbb{R}^k \to U_i \times \mathbb{R}^k
\end{align*}
by the rule that, for each $(x,w) \in U_i \times \mathbb{R}^k$, its value is
\begin{align*}
\Psi_i(x,w)=(x,h_i(x)^{-1}w).
\end{align*}
The inversion map on $GL(k,\mathbb{R})$ is smooth, so each map $x \mapsto h_i(x)^{-1}$ is smooth, and hence each $\Psi_i$ is smooth.
The same overlap computation, with the equality
\begin{align*}
g_{ij}(x)=h_i(x)^{-1}g'_{ij}(x)h_j(x),
\end{align*}
shows that the maps $(\Psi_i)_{i \in I}$ assemble to a smooth bundle map
\begin{align*}
\Psi:E' \to E
\end{align*}
over $\operatorname{id}_M$. In the local trivialization over $U_i$,
\begin{align*}
(\Psi_i \circ \Phi_i)(x,v)
=
\Psi_i(x,h_i(x)v)
=
(x,h_i(x)^{-1}h_i(x)v)
=
(x,v),
\end{align*}
and
\begin{align*}
(\Phi_i \circ \Psi_i)(x,w)
=
\Phi_i(x,h_i(x)^{-1}w)
=
(x,h_i(x)h_i(x)^{-1}w)
=
(x,w).
\end{align*}
Thus $\Psi \circ \Phi=\operatorname{id}_E$ and $\Phi \circ \Psi=\operatorname{id}_{E'}$. Therefore $\Phi$ is a smooth vector bundle isomorphism represented locally by the maps $h_i$, completing the proof.
[/step]