Git推动两位作者

时间:2015-12-14 11:59:17

标签: git

我只是看着git提交日志,而且我一直在推动两位作者。所以我有重复。

如何删除所有提交的历史记录?我花了一个小时的时间来查找信息,但我不能git push --force(被拒绝,非快进)

git log

http://pastie.org/private/fwxzqoin5lhmhwzsxdnnga

2 个答案:

答案 0 :(得分:0)

您无法删除提交,但可以{J}到您的起点。

答案 1 :(得分:0)

您可以尝试以下命令,但要注意后果(Git v2.6.4):

git checkout <ref you want to keep from>
git checkout -b my_new_master
git push origin +my_new_master:master

然后,Git垃圾收集器应该销毁旧主服务器的所有提交。 From the docs

  

git push origin + dev:master

     

使用dev分支更新源存储库的主分支,允许非快进更新。这可能会在源存储库中悬挂未引用的提交。请考虑以下情况:无法快进:

                       o---o---o---A---B  origin/master
                                \
                                 X---Y---Z  dev
     

上述命令会将原始存储库更改为

                                 A---B  (unnamed branch)
                                /
                       o---o---o---X---Y---Z  master
     

提交A和B将不再属于具有符号名称的分支,因此无法访问。因此,这些提交将通过源存储库上的git gc命令删除。

或者,可以得到相同的结果分解步骤,特别是对于旧版本的Git。我已经在一些虚拟存储库上完成了它,但是它很长,而且我相信没有意义,因为它有很多理由不鼓励:这样做就可以打破其他存储库。但是上面的命令应该足够好,因为你正在使用个人或低变化的存储库。