“本地存储库已过期”....我没有分支如何解决这个问题

问题描述 投票:0回答:5

当我们将代码推送到远程服务器时,Xcode 显示以下警告。另请参阅随附的屏幕截图

本地存储库已过时。

我没有分支或任何其他工作副本。

git xcode8
5个回答
20
投票

我有同样的问题,我是这样解决的:

首先进入终端中的项目目录

git init
git add .
git stash save
git branch --set-upstream-to=origin/master
git pull -r
git stash pop
git push 

让我知道它是否有效


14
投票

我遇到了同样的问题,它的发生是因为我通过创建另一个分支来添加来自 GitHub 网站的 README.md 文件。 Xcode 不会自动提取通过网站所做的更改。

所以你必须进入 Xcode 菜单并选择 Source Control -> Pull。

然后我检查了“将本地更改重新设置为上游更改”,这一次应用一次本地提交。我有很多提交没有推送,所以我选择了这个。


8
投票

该警告是因为在您上次从存储库中提取内容后,其他人可能会推送到您的存储库。您需要从存储库中提取代码,合并代码,然后才能再次推送


3
投票

我遇到了这个问题,但我确信我在本地是最新的;一个团队,尽管我认为我从命令行所做的一些 git 更改混淆了 Xcode。

最终似乎起作用的是以下几种组合;

在 Xcode 中:

  1. 源代码控制 -> 获取更改
  2. 源代码控制 -> 拉取,带有变基选项(如果您已经是最新的,则不会发生任何事情)
  3. 源代码控制 -> 重置文件状态
  4. 退出 Xcode(不要只是关闭项目,还要退出应用程序)

然后从项目文件夹根目录的命令提示符中执行类似操作,但也重置为 origin/main (相应调整):

(base) ➜  PROJECT git:(main) git fetch                                 
(base) ➜  PROJECT git:(main) git pull 
Already up to date.
(base) ➜  PROJECT git:(main) git reset --hard origin/main              
HEAD is now at 7a169f4 chore: still working through Xcode annoyance saying local repo is up to date.
(base) ➜  PROJECT git:(main) git pull                    
Already up to date.
(base) ➜  PROJECT git:(main) git fetch
(base) ➜  PROJECT git:(main) 

然后返回 Xcode,进行一项虚拟更改,提交并推送它。它对我有用,警告现在消失了。

这是在 Xcode 14.2、MacOS Ventura 13.1 上。


0
投票

所以基本上,当本地和远程存储库不同步时,您会收到过时错误。您需要通过运行 git pull 从远程存储库中提取更改。 我发现 Xcode 很难使用版本控制你的代码,你可以在 Xcode 中的 Integrate -> git Pull 下找到

git pull

然后再次尝试集成 -> 推送

© www.soinside.com 2019 - 2024. All rights reserved.