不能丢弃所有的修改XCode

uqdfh47h  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(112)

2,我们正在开发一个共享的GitHub项目。
不幸的是,我上传了UserInterfaceState.xcuserstate文件到GitHub。我的合作伙伴刚刚上传了我们的应用程序的一个版本,它工作正常,但使我无法进行更改。当我尝试提交和推送时,它失败了,因为“本地存储库已过期”,这是有道理的。所以我放弃了所有更改并尝试拉取。但拉取失败,因为我在放弃更改后立即在UserInterfaceState.xcuserstate中进行更改。
所以基本上我需要从我的GitHub上传中删除UserInterfaceState.xcuserstate。
我试着删除GitHub webend上的文件,这起了作用,但没有解决问题。然后我试着对.gitignore文件做些什么。我通过使用touch .gitignore生成了一个文件,但遗憾的是我找不到该文件,甚至当我不知道该怎么处理它时。

djp7away

djp7away1#

如果git已经在跟踪该文件,将其添加到.gitignore不会有太大作用-您需要首先将其从跟踪中删除。
首先,在终端中,cd到项目目录并运行git status。如果UserInterfaceState.xcuserstate中有任何文件 aside 发生了更改,您可能希望在继续之前保存该文件的副本。
关闭Xcode后,执行硬重置,回滚上次pull/commit时所做的任何更改。(注意:这 * 将 * 抹去你在那段时间里所做的任何事情,尽管从你的问题文本来看,你似乎对此没有问题)。

git reset --hard HEAD

从那里,确保git将不再跟踪您的UserInterfaceState.xcuserstate文件:

git rm --cached <path>/<to>/UserInterfaceState.xcuserstate

然后,提交并将更改推送到origin:

git commit -m "Removed file that shouldn't be tracked"
git push origin <branchname>

相关问题