git-显示顺序与提交顺序不一致的问题

问题流程

a分支

  1. 初始记录:分支的提交记录是 c1 -> c2 -> c3
  2. 第一次修改提交记录但并未push:a1(20:18)
  3. 第二次修改提交记录:a2(20:20)

b分支

  1. 初始记录: c1 -> c2 -> c3

  2. 第一次修改提交记录但并未push:b1(20:17)

  3. 第二次修改提交记录:b2(20:19)

现在将b分支合并到a分支

期望顺序: c1 -> c2 -> c3 -> a1(20:18)-> a2(20:20)-> b1(20:17)-> b2(20:19)

但实际结果却是: c1 -> c2 -> c3 -> b1(20:17)-> a1(20:18)-> b2(20:19)-> a2(20:20)

问题和分析

为什么呢?

答:因为显示是按时间排序的,并不是按照提交顺序显示的。这种情况显示顺序和提交顺序是不一致的,并不影响代码的合并顺序,虽然我们查看所有记录时显示是:c1 -> c2 -> c3 -> b1(20:17)-> a1(20:18)-> b2(20:19)-> a2(20:20),当时当我们执行一下命令:

bash 复制代码
git log --oneline --graph --all --decorate

查看提交记录时,记录仍然是按照我们的预期顺序: c1 -> c2 -> c3 -> a1(20:18)-> a2(20:20)-> b1(20:17)-> b2(20:19),因此并不影响代码,仅影响显示顺序,所以并不用担心。

此时不要用以下命令进行查看提交记录,因为它默认是按照提交的时间顺序从最新到最旧排序的。

bash 复制代码
git log -n 30 --pretty=oneline

解决方案

怎么解决这种呢?

方案一:改变显示排序规则。

方案二:规范化自己的开发流程。

相关推荐
呆萌的代Ma3 小时前
Git不强行推送,撤销最近几次的提交
git
透明的玻璃杯6 小时前
git应用
git
炸炸鱼.7 小时前
Git+Jenkins实战(一):从零搭建自动化发布与回滚系统(附完整代码)
git·jenkins
言6669 小时前
要忽略前端依赖包node_modules的文件在目录下 git暂存区消失
git
胡小禾10 小时前
Git Worktree
git
程序员小羊!10 小时前
18 GIt
git
怣疯knight10 小时前
Git 本地分支关联远程分支 常用命令汇总
git
ANNENBERG11 小时前
git分支开发管理
git
坤坤藤椒牛肉面11 小时前
GIT的使用
git
w32963627111 小时前
使用 OpenCode 在 Windows 上加速安装 Playwright 的完整指南
windows·git