我在使用rebase时遇到了问题。我想要压缩一些构建,但是我做不到。
当我执行命令git log –oneline
时,我得到了以下结果:
git log --oneline
2e6d3cf Fix bug fetching data
4abe96e conflicts merged
34d130d latam_schedule with geotargeted languaje and data fetching
8687f73 removes extra lines, and add the includes I remove before.
eed4f10 unnecessary adds and sample block removed
d2d58e6 latam_schedule with geotargeted languaje and data fetching
75b1b6d parseo el string para extraer las horas.
8a3b067 Agrego un render con datos reales
d856ef1 Agrego un render de data dummy
7331f83 Alert removed(commented)
128bfc1 First LATAM commit
4dd79cb Merge pull request #1016 from matterhorn/disco-608-bugfix
问题在于,当我执行
git rebase HEAD~3
时,我看不到我想要合并的2e6d3cf、4abe96e和34d130d提交。相反,在我执行git rebase -i HEAD~3
时,我看到了以下内容:pick 34d130d latam_schedule with geotargeted languaje and data fetching
pick d2d58e6 latam_schedule with geotargeted languaje and data fetching
pick eed4f10 unnecessary adds and sample block removed
pick 8687f73 removes extra lines, and add the includes I remove before.
pick 2e6d3cf Fix bug fetching data
问题在于我不知道为什么列表中包含d2d58e6、eed4f10和8687f73。另一方面,如果我尝试继续压缩,会出现很多不应该存在的冲突(例如尝试合并过时文件)。
这是git log --oneline --graph --decorate
显示的内容。
git log --oneline --graph --decorate
* 2e6d3cf (HEAD, matterhorn-latam/latam, latam) Fix bug fetching data
* 4abe96e conflicts merged
|\
| * 8687f73 (matterhorn-latam/master, master) removes extra lines, and add the includes I remove before.
| * eed4f10 unnecessary adds and sample block removed
| * d2d58e6 latam_schedule with geotargeted languaje and data fetching
* | 34d130d latam_schedule with geotargeted languaje and data fetching
|/
* 75b1b6d parseo el string para extraer las horas.
* 8a3b067 Agrego un render con datos reales
* d856ef1 Agrego un render de data dummy
* 7331f83 Alert removed(commented)
* 128bfc1 First LATAM commit
有什么想法吗?
git log --oneline --graph --decorate
的输出。同时,请记住,除非您使用-p
或--preserve-merges
,否则 rebase 不会保留合并提交。此外,您的问题有点令人困惑,因为您说缺少的一些提交实际上是存在的,只是顺序相反,因为 rebase 按照它们在git log
中显示的相反顺序应用提交。 - user456814--preserve-merges
。但是,你所说的 "2e6d3cf
、4abe96e
和34d130d
这三个提交,我想在执行git rebase HEAD~3
时合并" 是什么意思?你所说的 "合并" 是什么意思?你是不是想要 压缩 这些提交?在 git 中,“合并”有一个非常具体的含义:将两个分支合并在一起。这不是你想对这些提交做的事情,对吗?请澄清你的问题。 - user456814git log
在交互式重新基础上的重命名期间,请小心:请参阅“git rebase -i
shows wrong commit history after a rebase and force push”。使用Git 2.24+(2019年第4季度)。 - VonC