因此,我尝试使用bitbucket进行远程重新存储,在他们的网站上建立存储库后,我试图推送本地存储库
但是我不能推送数据,因为在我的Xcode中说本地存储库已经过时了
当我尝试从bitbucket中提取数据时,似乎所有按钮和选项均已禁用
禁用厚框和按钮。
我被困住了,我该怎么办?
答案 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
提交。>