我无法推送,因为本地存储库已过期,但是我无法拉出数据

时间:2018-10-08 10:52:20

标签: ios xcode git

因此,我尝试使用bitbucket进行远程重新存储,在他们的网站上建立存储库后,我试图推送本地存储库

但是我不能推送数据,因为在我的Xcode中说本地存储库已经过时了 enter image description here

当我尝试从bitbucket中提取数据时,似乎所有按钮和选项均已禁用 enter image description here

禁用厚框和按钮。

此处来自终端的状态 enter image description here

我也试图从终端上拉 enter image description here

我被困住了,我该怎么办?

1 个答案:

答案 0 :(得分:1)

您来自终端机的git push失败:

! [rejected]        master -> master (non-fast-forward)

,并且您来自终端机的git pull失败:

fatal: refusing to merge unrelated histories

告诉我们我们需要知道的。 (此外:对于我来说,将它们阅读为复制粘贴的文本而不是图像阅读起来要容易得多。)具体来说,您已经建立了与远程存储库完全无关的本地存储库。 < / p>

当您通过运行git init在本地启动 new Git存储库,然后将一些文件添加并提交到新存储库中时,就会发生这种情况。此新存储库与现有存储库没有关系。 1

然后,您在本地存储库中运行git remote add origin url,告诉Git您的本地存储库与 url 上的Git存储库直接相关。您的Git相信您。 (这不是达到这一点的唯一方法,但是即使您通过Xcode做到这一点,也可能是您达到这一点的方法。)

一旦您准备好将这两个不相关的Git互相交谈,您就可以让您的Git呼叫其所谓的兄弟(堂兄?母亲?无论如何)Git并与之交谈。使用git push,您的Git建议他们接受添加到您的新提交中的新提交,但您的不要添加到他们的新提交中,因此他们说:不,这是不是快速前进:您的提交与我的关系不正确。使用git pull,您的Git会获取其提交,然后让您的Git运行git merge将您的提交与他们的亲戚结合起来来自另一个Git。您的Git说:哇,等等,这些提交无关!我不能嫁给这两个人!

有多种解决方法。使用哪一个取决于原始错误是什么。您最初是否应该使用git clone来克隆Bitbucket存储库,以使您的存储库 与之相关?或者您是否应该像以前那样创建 Bitbucket存储库,以使最初的 Bitbucket 存储库为,并愿意从您的存储库中填充仓库以便成为相关?

找出其中的哪种情况。然后,在掌握了原始错误在哪里的知识之后,回到StackOverflow并搜索如何解决原始错误,同时保留到目前为止所做的一切工作。


1 请注意,一个完全空的存储库(一个没有提交的存储库)也与任何其他存储库都没有关系,但是因为它是一个空白板,所以非常高兴与其他任何Git存储库结婚。例如,git clone就是这样工作的:克隆某些现有存储库时,首先要创建一个新的完全空的存储库。然后,将其与其他存储库(通常称为origin结合使用,先使用git fetch,再跟git checkout master,然后这两个存储库共享它们的所有master提交。