我正在提交git checkout hash_of_C存储库的C(我刚刚做过).
A - B - C - ...<19>... - D - ...<many many commits> - Z
Run Code Online (Sandbox Code Playgroud)
哪个Z是主分支中的最后一次提交
现在,我想提前20次提交.
小智 5
如果我正确理解,你想从C向前推进20次提交,Z是主分支上的最后一次提交,但不一定是C的第20次提交.
来自C do
C > git checkout $(git rev-list --topo-order HEAD..master | tail -20 | head -1)
Run Code Online (Sandbox Code Playgroud)
如果它存在,它将检出20提交转发.
我对此并不完全有信心,但这就是它的作用.
git rev-list --topo-order HEAD..master将为您提供从C到master /每行一个的所有提交的列表.
> ? b17c0a7 > git rev-list --topo-order HEAD..master
3c5b47003a5bc576d6c5d13b065bb70aef28828f
306fee6443d0e2ebb0a5372dfdff0d55728950f3
02acfd4b6987dfc8bc689a18d21ee82ad8132839
Run Code Online (Sandbox Code Playgroud)
当我们做尾部-20时,我们基本上想从底部20行中切出这个列表中的一块.如果我们做头-1,我们进一步削减列表,只采取顶部项目.这样我们从当前提交中获得第20项.
哪个是$(git rev-list --topo-order HEAD..master | tail -20 | head -1)
| 归档时间: |
|
| 查看次数: |
1320 次 |
| 最近记录: |