无法丢弃Xcode的所有更改

时间:2018-01-22 21:38:04

标签: xcode git

2我们正在开发一个共享的Github项目。

遗憾的是,我将UserInterfaceState.xcuserstate文件上传到Github。 我的合作伙伴刚刚上传了我们的App女巫版本,但我无法进行更改。当我尝试提交并推送失败时因为"本地存储库已过期"这是有道理的。所以我放弃所有的变化,试着拉。但是因为我在丢弃更改后立即在UserInterfaceState.xcuserstate中进行了更改,因此会导致错误。

所以基本上我需要从我的Github上传中删除UserInterfaceState.xcuserstate。

我试图删除Github上的文件,但是我没有解决这个问题。 然后我尝试用.gitignore文件做一些事情。我使用touch .gitignore生成了一个,但遗憾的是我找不到该文件,即使我不知道该如何处理它。

1 个答案:

答案 0 :(得分:1)

如果git已经跟踪了该文件,将其添加到.gitignore并不会做太多事情 - 您需要先将其删除。

首先,在终端中,cd到项目目录并运行git status。如果您的UserInterfaceState.xcuserstate中的任何搁置文件已被更改,您可能希望在继续之前保存该文件的副本。

关闭Xcode后,执行硬重置以回滚上次提取/提交时可能发生的任何更改。 (注意:此删除您当时正在处理的任何内容,但从您的问题文本看来,您似乎还好吗?用这个)。

git reset --hard HEAD

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

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

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

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