在github上拉远程master分支的问题[重复]

Posted

技术标签:

【中文标题】在github上拉远程master分支的问题[重复]【英文标题】:issues pulling remote master branch on github [duplicate] 【发布时间】:2019-01-04 08:04:08 【问题描述】:

我正在尝试将 github 上的远程主存储库拉到我的本地计算机上,以便我可以进行更改然后推送回主存储库,但是当我尝试将其拉到本地计算机时出现以下错误。

developer@Codys-MacBook-Pro-3:~/everest-web$ sudo git pull 
https://github.com/everest-software/everest-web.git
From https://github.com/everest-software/everest-web
* branch            HEAD       -> FETCH_HEAD
fatal: refusing to merge unrelated histories

不知道该怎么做,因为让我的机器与 github 同步至关重要。

【问题讨论】:

你检查过日志吗? 我可以在这里@JohnBaker 发布登录吗? 请确保您没有发布任何敏感信息。 在这里发帖太长了。我还有其他方法可以将文本链接到您吗? 【参考方案1】:

在本地,您在一个 repo 中,但它包含与 github 不同的历史记录。如何最好地解决这个问题取决于为什么。您在 cmets 中提到有一个很长的日志 - 这表明这个 repo 代表了一个项目的历史,这可能不是您尝试同步的同一个项目。 (如果它同一个项目,那么你将需要弄清楚你是如何获得同一个项目的两个不相关的历史的,以及你想如何解决这个问题;但现在我'我继续假设事实并非如此。)

因此,最简单的做法是为该项目创建一个新的本地存储库。您可以使用git clone 执行此操作,它将为您初始化一个新的 repo 并使用 github 历史记录填充它。 (当你这样做时,你真的不想仍然在现有的本地存储库中。由于我不知道你如何在本地计算机上组织事情,我不能确切地说你应该在哪里;但是例如,如果您有一个目录,您可以在其中保存您的本地存储库,cd,然后使用您的 github URL 提供git clone 命令。)

可以通过几种不同的方式将遥控器的历史记录添加到现有的存储库中。 clone 的替代方法是

git init
git remote origin add <github-url>
git pull

但这不应该导致您看到的错误,除非您在 init 之后和 pull 之前创建至少一个提交。

【讨论】:

【参考方案2】:

我首先设置本地存储库时收到此错误。然后去github并创建了一个新的存储库。然后我跑了

git 远程添加源

当我尝试推/拉时,我遇到了同样的致命错误:unrelated_histories 错误。这是我修复它的方法:

git pull origin master --allow-unrelated-histories git 合并原点/原点 ...在此处添加并提交... git push 起源大师

【讨论】:

虽然这在 user2852260 的情况下有效,但如果应用于发生相同错误的其他情况,则可能完全不合适并导致严重问题。在执行这样的程序之前,请确保您知道自己在做什么以及为什么这样做。

以上是关于在github上拉远程master分支的问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

git从主分支上拉取新分支以及提交代码合并到主分支

我无法在 git 上删除远程 master 分支

变基后无法推送到分支

怎么删除git远程仓库上某次commit

git远程分支管理

Github报错:更新被拒绝