git 提交 c1,c2,c3,c4 head=c4 现在签出到 c1 然后再次签出到 c4
git commits c1,c2,c3,c4 head=c4 now checkout to c1 and then again checkout to c4
假设,我提交了四次提交,它们的顺序是c1、c2、c3、c4。现在我正在检查 c1 提交,但随后我决定返回到 C4(假设我已经存储了 c4 的提交 ID)。如果我直接从c1跳到c4,c2和c3的commit会被反映吗?
我从命令行尝试过,它确实反映了 c2 和 c3。
~$ mkdir test
~$ cd test/
~$ git init
~$ touch test.txt
~$ echo "1" >> test.txt
~$ git add .
~$ git commit -m 'c1'
~$ echo "2" >> test.txt
~$ git commit -am 'c2'
~$ echo "3" >> test.txt
~$ git commit -am 'c3'
~$ echo "4" >> test.txt
~$ git commit -am 'c4'
~$ git log
~$ git checkout e3c8d3fdede3c62cbbd023961d3b6eec8aa6c47d
~$ cat test.txt
~$ git checkout 410bf3153ed1a74a1a29cccb41666dfd0eab0862
~$ cat test.txt
假设,我提交了四次提交,它们的顺序是c1、c2、c3、c4。现在我正在检查 c1 提交,但随后我决定返回到 C4(假设我已经存储了 c4 的提交 ID)。如果我直接从c1跳到c4,c2和c3的commit会被反映吗?
我从命令行尝试过,它确实反映了 c2 和 c3。
~$ mkdir test
~$ cd test/
~$ git init
~$ touch test.txt
~$ echo "1" >> test.txt
~$ git add .
~$ git commit -m 'c1'
~$ echo "2" >> test.txt
~$ git commit -am 'c2'
~$ echo "3" >> test.txt
~$ git commit -am 'c3'
~$ echo "4" >> test.txt
~$ git commit -am 'c4'
~$ git log
~$ git checkout e3c8d3fdede3c62cbbd023961d3b6eec8aa6c47d
~$ cat test.txt
~$ git checkout 410bf3153ed1a74a1a29cccb41666dfd0eab0862
~$ cat test.txt