Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么git头~[N]只引用拉请求?_Git_Github - Fatal编程技术网

为什么git头~[N]只引用拉请求?

为什么git头~[N]只引用拉请求?,git,github,Git,Github,我所看到的每一个地方都有这样的说法:要获得上一次提交,请执行以下操作 git checkout HEAD~1 在git存储库中。但当我这样做时,会跳过许多提交。讨论中的存储库是 编辑: 这些是引用存储库中的最后10次提交,通过运行 git log --pretty=oneline ae30b4a816a57a8101ce187245edc3050d515c06 Merge pull request #90 from haberman/gencode3 72c333eb037da6fe6335

我所看到的每一个地方都有这样的说法:要获得上一次提交,请执行以下操作

git checkout HEAD~1
在git存储库中。但当我这样做时,会跳过许多提交。讨论中的存储库是

编辑:

这些是引用存储库中的最后10次提交,通过运行

git log --pretty=oneline

ae30b4a816a57a8101ce187245edc3050d515c06 Merge pull request #90 from haberman/gencode3
72c333eb037da6fe63358efe9c6dc29547b0ab49 Fixed amalgamated build.
058a17f6a6c2487fd674511d5409497a03e83758 Fix amalgamated build.
98f513fb8fa5e3360baeb59c37636ca71d562490 Fixed 32-bit build and added generated files.
6b8767422154008eed98d0df42e36758d38877a4 Address review comments and fix compile warnings.
806ffc1d2053f1c02167c7965b39abc997d12ad6 Responded to PR comments.
15308afff2d0d288b73c1b4278bd28f926ce02b8 Fixes for oneof conformance tests.
b697882fb272c2f3408f5c821a88aaf3e3db6f52 Fixed varint length when buffer is reallocated.
be9094d91a2da777002a0f713306ac1bb74a6ac5 New encode/decode: most (171 / 192) conformance tests pass.
d5167fff744167eca45df65b5b935525778e2886 Merge pull request #88 from google/gencode2
你自己看看吧。运行
git checkout HEAD~1
会产生以下消息

Previous HEAD position was ae30b4a... Merge pull request #90 from haberman/gencode3
HEAD is now at d5167ff... Merge pull request #88 from google/gencode2
因此,
HEAD
向后移动了9次提交,而不是1次

再次运行
git log
以获取相对于
HEAD
(位于
d5167ff
)的提交历史记录

再次运行
git checkout HEAD~1
将产生

Previous HEAD position was d5167ff... Merge pull request #88 from google/gencode2
HEAD is now at 0af9285... Merge pull request #89 from google/stringview

显然已经跳过了几个提交。

git。。。。HEAD~n
从n个祖父母那里走回来。参考文件

修订参数的后缀表示提交对象,它是命名提交对象的第th代父级,仅位于第一代父级之后。也就是说~3相当于^1^1^1。有关此表单的用法说明,请参见下文


如果您现在有一个合并提交,很明显,您的头部位置上有一个合并提交,回溯n代可能会导致时间线跳到该合并的下一个祖父母。在您的情况下,它是
0af9285

git HEAD~1
不是有效的git命令AFAIK。请更新你的问题,并告诉我们你在这里做什么。更新。请在下面提供您的答案。就我所知,在本地,签出
HEAD~1
必须在
HEAD
之前立即向您提交,该HEAD通常是您本地分支机构的负责人,除非您已将其移到其他地方。您能否详细说明哪些提交丢失?已更新。请参见上文。
HEAD~1
是当前提交的第一个父级。如果是合并提交,则
HEAD~1
不包括合并分支的提交。使用GUI Git客户端可以轻松地可视化和理解项目历史。
Previous HEAD position was d5167ff... Merge pull request #88 from google/gencode2
HEAD is now at 0af9285... Merge pull request #89 from google/stringview