git reflog 的全部日志
切换分支,少了 3 个版本号,有大佬解疑吗,会是 orgigin 、HEAD 这些问题吗
1
a1208340028 OP 执行 reset: moving to bfc86af4e3c3c7a912fdbade12163845279f17b8 这个命令,是我 git log 发现少了 3 个提交的版本号,然后我以为是有什么原因,然后就执行 git log ,然后 reset 到我最新的提交版本号,切回分支时就没有这个 3 个版本号
|
2
NessajCN 23 天前
bfc86af 这个是 origin/直 xx, 也就是远程仓库的 commit
你提交的那俩都只在本地 commit 了,origin 那边没同步 所以你切回 origin/直 xx 还是 bfc86af |
3
a1208340028 OP |
4
a1208340028 OP @NessajCN 但是都是本地,我本地回到分支,为什么是回到了我 origin 的版本,而不是我本地已 commit 的版本号
|
5
a1208340028 OP https://raw.githubusercontent.com/1208340028/mall/refs/heads/main/952988-acaxca515as.png 这个可以看到我执行 reset ,执行的 git log 版本,确实是 origin 那边的版本,而不是我本地已提交的 3 个版本号
|
6
NessajCN 23 天前
@a1208340028
po 一下你的 git branch 输出 |
7
GeruzoniAnsasu 23 天前
|
8
a1208340028 OP 大概操作流程:
1.远程仓库,origin 与本地 head 一致:bfc86af 2.我提交了:1abb9e9 3.再次提交:6775815 4.需求没有做完,提交了 tmp:0fb4ce0 5.切换到 main 分支, 6.main 分支开发完毕,提交到 origin 7.切回开发分支 8.然后发现我本地提交了 3 个版本消失 9.查看当前分支,误以为第一个版本为 tmp ,执行 reset bfc86af 10.发现还是少了 3 个版本 11.执行 reflog ,回滚到 tmp 版本,reset 0fb4ce0 |
9
NessajCN 23 天前 via Android
@a1208340028 反正从 log 来看你 ckeckout 的就是 origin/直 xx 而不是本地直 xx 。
我也不知道你具体咋 checkout 的,猜一下的话是不是本地直 xx 跟远程直 xx 名字有出入… |
10
unused 23 天前
把每一步的命令贴出来
|
![]() |
11
skiy 23 天前
我看你不是切到本地的直分支,而是远程分支。建议你 history 看看操作记录。WIN 我不知道怎么查操作记录了。你是不是 git switch origin/直 XX 了?
|
12
unused 23 天前
reflog 没打码的第一步就错了,“moving from 直 to bfc86” 说明你从分支 checkout 到了这个 commit. You are in 'detached HEAD' state.
|
![]() |
13
Leon406 23 天前
origin/直, 直 远程和本地分不清楚
代码开发了,tmp 保存在本地分支 直, 切换分支到 main,开发完又切换到 origin/直 |
![]() |
14
Leon406 23 天前
如果命令行没有退出,执行 get-history 发下历史记录,确认是不是切到远程开发分支了
|
15
a1208340028 OP @Leon406
2 git branch 3 git add . 4 git commit -m "update:调整" 5 git push 6 git branch 7 git branch 8 git checkout 直播间 9 git branch 10 git log 11 git reset --hard bfc86af4e3c3c7a912fdbade12163845279f17b8 12 git reflog 13 git reflog 14 git reflog 15 git reset --hard 0fb4ce0 16 cls 17 git reset --hard 0fb4ce0 18 git reflog 19 git log 20 git reflog |
![]() |
16
Leon406 22 天前
@a1208340028 #15 缺少特性分支之前相关操作,看起来这些操作没有问题,
应该是切换 main 之前进行了什么操作 发现问题了,正好被你多打码的那一行 你从直播分支切换到是临时分支(只有 hash 值),没有分支名, 根本没有在直播分支上修改... |