Git 新问题:我的承诺在哪里消失

Git 新问题:我的承诺在哪里消失,git,Git,我是git的新手,刚开始玩它。 我就是这么做的: john@john:~/workspace/git-test/tmp$ git log --pretty=oneline 7d6bebed1d7bcfd916dd930303b7e95c974ad354 xThis will be amended 2c32b4519c8c06e6e6ae381a67d6824a33a512ce another emty file cd34e9e0c40f18984f66e58bd1650c98f8c3aedf

我是git的新手,刚开始玩它。 我就是这么做的:

john@john:~/workspace/git-test/tmp$ git log --pretty=oneline

7d6bebed1d7bcfd916dd930303b7e95c974ad354 xThis will be amended
2c32b4519c8c06e6e6ae381a67d6824a33a512ce another emty file
cd34e9e0c40f18984f66e58bd1650c98f8c3aedf Merge branch 'master' of /home/john/workspace/git-test/../tmp
408020f5e0ffda578e8690a487c80f3c22ea2804 Empty file added
4b80be932603083d9712aa4329812d045d22eafa added emty file
7ab109a5fe405dcb9f52424a8b27790b51ff43bf Testing .gitignore?
92ba23c892102e8162b700a43548567cefe7183a Initial setup
然后我尝试切换到以前的提交:

john@john:~/workspace/git-test/tmp$ git checkout -b issue01 408020f

Switched to a new branch 'issue01'
并检查日志:

john@john:~/workspace/git-test/tmp$ git log --pretty=oneline

408020f5e0ffda578e8690a487c80f3c22ea2804 Empty file added
7ab109a5fe405dcb9f52424a8b27790b51ff43bf Testing .gitignore?
92ba23c892102e8162b700a43548567cefe7183a Initial setup
问题: 此提交
4b80be932603083d9712aa4329812d045d22eafa添加的emty文件在哪里?
我很确定我做错了什么,只是不知道去哪里查

更新
git日志
显示可从
访问的历史记录。如果查看您的历史记录,您将看到
4b80be9添加的emty文件
不是
408020f
的祖先,因此它不会显示在
git日志408020f
的输出中。您只能在第一个命令的输出中看到它,因为
--oneline
将提交按时间顺序排列,即使历史不是线性的

签出git scm文档关于。它们很棒,并且很好地解释了这些概念。

git log
显示了可从
访问的历史记录。如果查看您的历史记录,您将看到
4b80be9添加的emty文件
不是
408020f
的祖先,因此它不会显示在
git日志408020f
的输出中。您只能在第一个命令的输出中看到它,因为
--oneline
将提交按时间顺序排列,即使历史不是线性的

$git checkout -b issue01 408020f
签出git scm文档关于。它们很好,很好地解释了这些概念

$git checkout -b issue01 408020f
从“408020f”中克隆存储库:

HEAD指向您当前的分支(或当前提交),所以git reset
--hard HEAD
所做的就是扔掉您所有未提交的更改

从“408020f”中克隆存储库:


HEAD指向您当前的分支(或当前提交),因此git reset
--hard HEAD
所做的就是扔掉所有未提交的更改。

尝试:
git log--pretty=oneline--graph
并在输出中编辑。我打赌它位于合并的第二个父级,因此无法从
408020f
访问。您可以通过
git checkout cd34e9e0c
然后
git show HEAD ^1
git show HEAD ^2
验证您根据4B80BG之前的注释创建了一个新分支。它不像CVS和SVN那样,每次提交都有一条线性路径。您可以将更新以任何顺序与Git合并。+1用于清楚地描述您的问题,并提供大量有用的信息来帮助我们解决问题,而不必与我们来回查找更多信息。另外,请注意,
--oneline
--pretty=oneline
--abbrev commit
的缩写。请尝试:
git log--pretty=oneline--graph
并在输出中编辑。我打赌它位于合并的第二个父级,因此无法从
408020f
访问。您可以通过
git checkout cd34e9e0c
然后
git show HEAD ^1
git show HEAD ^2
验证您根据4B80BG之前的注释创建了一个新分支。它不像CVS和SVN那样,每次提交都有一条线性路径。您可以将更新以任何顺序与Git合并。+1用于清楚地描述您的问题,并提供大量有用的信息来帮助我们解决问题,而不必与我们来回查找更多信息。另外,旁注,
--oneline
--pretty=oneline
--abbrev commit
的简写。你说的关于时间顺序和历史的句子解释了一切。谢谢。你说的关于时间顺序和历史的句子解释了一切。非常感谢。