A special graph coloring problem 
Let $G$ be an undirected graph. We define:
An Orientation $D$ from $G$: A subgraph $D$ with $V(D) = V(G)$ such that for every edge $\{u, v\} \in E(G)$, we take either $(u, v)$ or $(v, u)$ in $D$.
We call a function $c: V(D) \rightarrow \{1, ..., k\}$ a $k$-In-Out-Coloring if for every vertex $v \in V(D)$ the following holds:
$$\{c(u) | (u, v) \in E(D) \} \cap \{c(w) | (v, w) \in E(D) \} = \phi$$
In other words, no vertex in a $k$-in-out-colored, directed graph has an in-neighbor $u$ and an out-neighbor $w$, so that $c(u) = c(w)$. In this graph for example, the vertices $0$, and $2$ have to colored in different colors, so $c(0) \neq c(2)$. Note that we didn't impose restrictions on vertex $1$, it is allowed to be colored in $c(0)$ or $c(2)$.
For a function $f: A \rightarrow B$ and a subset $C \subseteq A$ we define a restriction from $f$ onto $C$ as $f_{\restriction C}(x):= f(x)$ if $x \in C$. So the function $f_{\restriction C}$ has the type $f_{\restriction C}: C \rightarrow B.$
Let $k \in \mathbb{N}$ be fixed, $G$ an undirected Graph (with no parallel edges or self-loops) with countably infinite vertices and let $c:V(G) \rightarrow \{1, ..., k\}$ be an $k$-in-out coloring function.
Prove: If every finite subgraph $G'$ from $G$ has an orientation which is $k$-in-out-colored by $c_{\restriction V}(G')$, then there must exist an orientation of $G$, which is $k$-in-out-colored by $c$.

There are too many layers in this proof and I don't know where to begin. A proof by contradiction seems suitable but even then, I don't see what follows.
If every subgraph $G'$ has an orientation which is $k$-in-out-colorable by $c_{\restriction V}(G')$, then the subgraph $H$ with $V(H) = V(G)$ and $E(H) = E(G)$ is $k$-in-out-colorable by $c_{\restriction V}(G')$. If $H$ is $k$-in-out-colorable by this restriction function, then it must be colorable by $c$, and so must be $G$, which is exactly the same graph as $H$. So I'm not really sure what the question is looking for. Any help would be much appreciated.
 A: As the vertex set is enumerable, so does the set of edges. Then let $\{e_{i}\}_{i \in \mathbb{N}}$ be an enumeration of $E(G)$. For each $i \in \mathbb{N}$, let $\{u_{i},v_{i}\} = \{e_{i}\} $ and define $G_{i} = (\bigcup_{j = 1}^i e_{i},  \{ e_{j} ~\colon j \in \{1,\ldots, i\}\})$. In other words, $G_{i}$ is the finite graph induced by the edges $\{e_{1},\ldots, e_{i}\}$. Let $G_{i}'$ be the orientation of $G_{i}$ respecting the property mentioned by OP.
We will define an orientation in $\{e_{i}\}_{i \in \mathbb{N}}$ by induction. First, we have two possibilities of orientation for $e_{1}$, $(u_{1},v_{1})$ or $(v_{1},u_{1})$. Moreover an orientation of the edge $e_{1}$ appears in an infinite number of graphs in the sequence $\{G_{i}'\}$(of course appears in all of them). Then, by the pigeonhole principle, at least one of theses orientations occurs in an infinite subsequence of $\{G_{i}'\}$. Then we define $\overrightarrow{e_{1}}$ to be the orientation of $e_{1}$ that occurs in all orientations of the subsequence $\{G_{i_{k}}\}_{k \in \mathbb{N}}$. Now notice that the edge $e_{2}$ occurs in an infinite number of orientations of $\{G_{i_{k}}\}$. Therefore, using the same argument one can find an infinite subsequence of $\{G_{i_{k}}\}$ where the orientation of $e_{2}$ is the same for all graph in this subsequence. And then define $\overrightarrow{e_{2}}$ to be this orientation. Notice that even in this news subsequence, all orientations of $e_{1}$ still are $\overrightarrow{e_{1}}$. By induction we can define the orientation of all edges like this. Than call by $A = \{\overrightarrow{e_{1}},\overrightarrow{e_{2}},\overrightarrow{e_{3}}, \ldots\}$.
Now we must prove that $A$ respects the property. Suppose otherwise and take two vertices $w_{1}$ and $w_{2}$ such that $c(w_{1}) = c(w_{2})$ and there is a vertex $z$ such that $(w_{1},z,w_{2})$ is a directed path in $(V(G),A)$. Let $i_{1}$ and $i_{2}$ be natural numbers such that $(w_{1}, z) = \overrightarrow{e_{i_1}}$ and $(z,w_{2}) = \overrightarrow{e_{i_{2}}}$. Without loss of generality suppose that $i_{2} > i_{1}$.
Let's remember the construction. When we are choosing the orientation of $e_{i_2}$, we are in a subsequence $\{G_{i_{k}}\}$ such that the graphs $\{G_{i_{k}}'\}$ contain all edges from $e_{1}$ to $e_{2} - 1$ and they are oriented in the same direction, in particular the direction of $e_{i_{1}}$ is the same as in $A$. Then we take a subsequence which by abuse of notation we will denote also by $\{G_{i_{k}}'\}$ where $e_{i_2}$ is oriented in the same direction as in $A$, $\overrightarrow{e_{2}}$. Let $G^*$ be an arbitrary graph in the  subsequence of orientations. As $(w_{1},z,w_{2})$ is a directed path in $G^*$ and the property holds by hypothesis for finite sets, we have that $c(w_{1}) \neq c(w_{2})$. An contradiction.
I know that it is far from being easy to understand this demonstration and maybe its because of my english mistakes, I am sorry in advance. If you don't understand feel free to ask.
