Having problem getting tangent vector I went through the definition of tangent vector from Wikipedia.

Having trouble to understand how a single coordinate chart $(U,\phi)$ can serve the purpose. For $\phi\gamma$ is defined iff image($\gamma$)$\subset U.$ Otherwise $\phi\gamma$ is not even defined. How would it then be possible to differentiate it at $0?$
 A: A chart is sometimes called a coordinate patch and that's a pretty good way to think of it:  like a patch that you might use to repair a busted inner tube.  The tangent space at a point on the manifold is a local definition.  You can think of this as meaning that it only requires an arbitrarily small region of the manifold around the point in order to define it.
One way to define tangent vectors (there are several) has you look at curves $\gamma:\Bbb{R} \to M$ such that $\gamma(0) = x_0$.  This is not a stringent condition.  Take any curve that goes through the point $x_0 \in M$, and possibly by shifting it's parameter, you can assume that at "time" zero, it passes through the point.  You can think of the tangent vector as its velocity at that moment.
Since the coordinate patch is a function $\phi: U \to \Bbb{R}^n$, where $U$ is an open neighborhood containing $x_0$, some (possibly small) bit of the curve $\gamma$ lands inside of $U$.  After possibly restricting its domain (choosing a small enough $\epsilon > 0$), you can assume that
$$
\gamma: (-\epsilon, \epsilon) \to U \qquad \text{with} \qquad \gamma(0) = x_0.
$$
Now, the compositions $\phi\gamma: \Bbb{R} \to \Bbb{R}^n$ bring the study back to the real numbers.  This is more than an aside.  Real manifolds get all of their local structure from the reals.
Let's take stock of the choices that have been made so far:


*

*the neighborhood $U$ of point $x_0$ (the patch),

*the curve $\gamma$ that passes through $x_0$.


There is are too many possibilities, so we define an equivalence relation, which allows us to "blur our eyes" and consider any two curves to be equivalent if they have the same derivative at zero.  These equivalence classes are the tangent vectors.  It's not obvious a priori that these form a vector space, but they do!  There's a meaningful way to define addition of these classes and scaling by a real coefficient.  This gives a perfectly reasonable vector space for the given patch $U$, but it requires proof to show that this choice doesn't depend on the patch.
More precisely, if $(U_1, \phi_1)$ and $(U_2, \phi_2)$ are two patches about $x_0$ (so there is some diffeomorphism $\psi:  \phi_1(U_1 \cap U_2) \to \phi_2(U_1 \cap U_2)$ in Euclidean space such that $\psi\phi_1 = \phi_2$ on the smaller patch $U_1 \cap U_2$), then we need to construct an isomorphism from the tangent space defined by one patch to the tangent space defined by the other.  You can write down this map, using the equation that relates the two patches, using the chain rule.
