赶时间的同学可以直接滑到底部看重点。
$ freeswitch git:(master) ✗ git fsckChecking object directories: 100% (256/256), done.error in commit 487128950df6ee433c131b5feaafe81ee86629f4: multipleAuthors: invalid format - multiple 'author' lineserror in commit 8574988c3a378b4d5861ecaeb0e958657635703b: multipleAuthors: invalid format - multiple 'author' linesChecking objects: 100% (422458/422458), done.
br
有很多人遇到这个问题,如:
https://github.com/signalwire/freeswitch/issues/1084
官方的解决方案是——直接在 Github 上点 Fork 按钮就 OK 了。其实官方也不是不想解决这一问题,但是,如果解决就涉及到重写 Git 历史,而他们又不想重写历史,所以,这个问题就一直存在。
在做 RTS (http://rts.cn/docs/)时,我们决定重写历史。
当然,重写历史不是那么简单。通过 rebase,我们很容易就修复了那两个作者问题,在 rebase 的过程中,在对应的提交处停下,执行如下命令修改成一个作者就 OK 了。
git commit --amend --author "Travis Cross <tc@traviscross.com>"
br
但是,rebase 过程中,有一些 merge 的提交也会被“捊直”,因此,还是会遇到一些冲突。我差不多花了一晚上的时间才解决完。
现在,历史已经被重写了,时间线非常清爽。
合作伙伴:
友情链接:
立即咨询