格里特不会推。错误:没有共同的祖先

时间:2016-06-28 02:22:14

标签: git gerrit

努力推动格里特。没有共同的祖先。

nolan@nolan-pc:~/pac-man$ git push ssh://1KX2@review.pac-rom.com:29418/android_vendor_pac HEAD:refs/for/pac-6.0
Counting objects: 8, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 6.63 KiB | 0 bytes/s, done.
Total 8 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done    
To ssh://1KX2@review.pac-rom.com:29418/android_vendor_pac
 ! [remote rejected] HEAD -> refs/for/pac-6.0 (no common ancestry)
error: failed to push some refs to 'ssh://1KX2@review.pac-rom.com:29418/android_vendor_pac'

3 个答案:

答案 0 :(得分:2)

“轻松”解决这个问题的一个案例是,如果你推动了一个全新的回购并且对任何可能的旧git历史没有兴趣,这会使你的项目代码达到现在的状态。

然后解决方案是从新文件夹开始,然后从gerrit克隆(空)项目。然后这个文件夹与这个gerrit项目有一个共同的祖先。然后你可以使用git add将源文件添加到这个新文件夹中,直到满意为止(那个平凡的工作是不容易的部分),遗漏任何旧的.git文件夹,最后尝试推送。从这一点开始,这将把你的项目推向gerrit与git历史。

答案 1 :(得分:1)

这是因为您的本地开发历史完全独立于pac-6.0分支的开发历史。他们没有共同的祖先。

在此处查看更多信息:

https://gerrit-review.googlesource.com/Documentation/error-no-common-ancestry.html

答案 2 :(得分:0)

我知道这是很长一段时间,但在我的情况下,我使用gerrit界面的自动rebase来解决简单的冲突。也许这会在我的本地存储库和服务器之间引入一些变化 我只需要与git同步即可获得这些更新 使用git pull --rebase origin master为我工作。