2我们正在开发一个共享的Github项目。
遗憾的是,我将UserInterfaceState.xcuserstate文件上传到Github。 我的合作伙伴刚刚上传了我们的App女巫版本,但我无法进行更改。当我尝试提交并推送失败时因为"本地存储库已过期"这是有道理的。所以我放弃所有的变化,试着拉。但是因为我在丢弃更改后立即在UserInterfaceState.xcuserstate中进行了更改,因此会导致错误。
所以基本上我需要从我的Github上传中删除UserInterfaceState.xcuserstate。
我试图删除Github上的文件,但是我没有解决这个问题。 然后我尝试用.gitignore文件做一些事情。我使用touch .gitignore生成了一个,但遗憾的是我找不到该文件,即使我不知道该如何处理它。
答案 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>