alt*_*urt 3 git git-merge git-rebase squash
我有一个分支git存储库,有~4000次提交.我想根据创建日期对提交进行分组.例如,鉴于以下提交:
abcd 2013-4-1 12:10
abce 2013-4-1 13:27
...
cdef 2013-4-1 18:16
cdeg 2013-4-2 09:23
...
gade 2013-4-2 18:20
fdeg 2013-4-3 09:42
...
Run Code Online (Sandbox Code Playgroud)
我想获得一个提交历史,例如all abcd- cdef提交合并到一个提交,所有cdeg-gade合并为一个,依此类推.我试着用rebase作为
git reset --hard cdef
git rebase -i abcd
Run Code Online (Sandbox Code Playgroud)
我无法压缩所有提交,得到了下面的错误消息.
"Cannot 'squash' without a previous commit"
Run Code Online (Sandbox Code Playgroud)
我试图一次压制一个提交,但它确实有效,但它花了很长时间才显然不可行.
如何根据创建日期合并提交?
将每天的第一次提交标记为"reword",将其余提交标记为"fixup":
reword xxxxxx First commit from 2013-04-01
squash xxxxxx another commit from 2013-04-01
squash xxxxxx another commit from 2013-04-01
reword xxxxxx First commit from 2013-04-02
etc
Run Code Online (Sandbox Code Playgroud)
这将提示您为每天写一条新的提交消息.
请注意,按时间进行提交几乎总是错误的做法.对于git bisect要正常工作的工具,存储库中的每个提交都应代表"一口大小"的更改.
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |