我有几个已经从SVN转换的回购。每次我尝试运行git rebase -i master
时,邮件默认为noop
。在保存时,我得到Successfully rebased and updated refs/heads/master
,这似乎表明它已经做了一些事情,但所有提交仍然存在。
我确实找到this question但该解决方案似乎不适用于OsX。
我还在一个包含3次提交的项目上尝试了git rebase -i HEAD~3
,但我得到了:
fatal: Needed a single revision
使用rebase -i HEAD~2
将正确并重新绑定,但我需要将这些压缩到使用init提交日期的单个提交。
有趣的是,rebase一直错过每个项目最早的提交。在每一个它它唯一的提交没有分配给我的用户(这是一个系统提交),所以我想知道这是否相关。
答案 0 :(得分:1)
question cited有一个可能的答案:设置shell变量IFS(什么字符被解释为分离"单词"在shell行中,在这种情况下分隔参数)使两个参数被解释为一个(显然未知),(内部)命令因引用结果而失败。
查看IFS的设置(如果有)(echo $IFS
)。尝试(unset IFS; git rebase -i HEAD~3)
(在bash(1)中需要使用parentesis,OS X shell可能不同,但我对此表示怀疑)。