To the OP and JDoolin:
First I think it would help if you read what I wrote about connections in another thread:
https://www.physicsforums.com/showpost.php?p=3436397&postcount=7
There are two different ways to think about the geometry of a given manifold. One is via a metric g_{\mu\nu}, which tells us how to measures lengths and angles. The other is via a connection \Gamma_{\mu\nu}^\lambda, which tells us whether two neighboring vectors are parallel. In principle, there is no reason these concepts should have anything to do with each other. To see why, think back to
Euclid's postulates. The first 4 postulates are sufficient to tell us when triangles are congruent; that is, they tell us all the local information about lengths and angles. It was famously shown that the 5th postulate (on parallels) is independent of the first 4. So this is why the metric information and the parallelism need not depend on each other.
In order to define any sort of derivative, we need to quantify the notion of "change" of vectors between nearby points, and so naturally, we must have a notion of "equal" between nearby points. The only reasonable notion of "equal" comes from \Gamma_{\mu\nu}^\lambda, because it is the only object we have that relates vectors at nearby points. So we say a vector V at point x is "equal" to a vector W at point y if
(y^\mu - x^\mu) \Gamma_{\mu\nu}^\lambda V^\nu= W^\lambda
Of course, this only makes sense if the point y is infinitesimally close to the point x. So really we should write
\Delta x^\mu \Gamma_{\mu\nu}^\lambda V^\nu= W^\lambda
where \Delta x^\mu is some infinitesimal that points from x to y. It is important to note the asymmetry of the expression! The infinitesimal separation between points x and y is contracted into the
first lower index of \Gamma_{\mu\nu}^\lambda.
Using this notion of "equal" between nearby points, we can derive the covariant derivative,
\nabla_\mu V^\lambda = \partial_\mu V^\lambda + \Gamma_{\mu\nu}^\lambda V^\nu
Note again the asymmetry; the vector V is contracted into the
second lower index.
Now we can ask what sort of properties \nabla might have. Let's introduce a fancy notation as follows:
\begin{align}<br />
(\nabla_X Y)^\lambda &= X^\mu \partial_\mu Y^\lambda + X^\mu \Gamma_{\mu\nu}^\lambda Y^\nu \\<br />
(Xf)(x^\mu) &= X^\nu \partial_\nu f(x^\mu) \\<br />
([X,Y])^\lambda &= (XY^\lambda - YX^\lambda) = X^\nu \partial_\nu Y^\lambda - Y^\nu \partial_\nu X^\lambda<br />
\end{align}
where X and Y are vector fields and f is a function. Then we can define two tensors, the
torsion
T(X,Y) = \nabla_X Y - \nabla_Y X - [X,Y]
and the
curvature
R(X,Y)Z = \nabla_X \nabla_Y Z - \nabla_Y \nabla_X Z - \nabla_{[X,Y]} Z
In indices, the torsion comes out to be something nice and simple,
T^\lambda{}_{\mu\nu} = \Gamma_{\mu\nu}^\lambda - \Gamma_{\nu\mu}^\lambda
The curvature, however, comes out to a longer expression that I don't feel like typing. It is also called the Riemann tensor, you can look it up.
Finally, there is a third tensor we can define, which doesn't have an official name, but I'll call it the
non-metricity
N(X,Y,Z) = Z(g(X,Y)) - g(\nabla_Z X, Y) - g(X, \nabla_Z Y)
where g is the metric tensor. In indices, this becomes
N_{\mu\nu\lambda} = \partial_\lambda g_{\mu\nu} - \Gamma_{\lambda\mu}^\rho g_{\rho\nu} - \Gamma_{\lambda\nu}^\rho g_{\mu\rho}
Now, for reasons explained in my other post linked above, our usual intuitions of geometry are most nearly matched by choosing the conditions
\begin{align}<br />
T^\lambda{}_{\mu\nu} &= 0 \\<br />
N_{\mu\nu\lambda} &= 0<br />
\end{align}
In fact, it turns out that these two conditions are sufficient to solve for \Gamma_{\mu\nu}^\lambda explicitly in terms of g_{\mu\nu}, giving us the Christoffel connection.
But it is important to remember, we
could have chosen
any specific T and N, which would give us some other solution for \Gamma_{\mu\nu}^\lambda.