无法推送、拉取或合并git。“工作副本有未提交的更改”。

10

我最近在Bitbucket上创建了一个git存储库,并将一个旧项目添加到其中。 我作为测试已经提交并推送了一次更改,但现在我面临这个问题。

每次我尝试Pull、Push或Merge时,都会收到以下错误消息:

The working copy "" has uncommitted changes.

"工作副本'Project_Name'有未提交的更改"。

而我已经多次提交了此更改:

The file seems to be named: User Interface State


编辑:我运行了'git status'命令,得到以下结果:

# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   Crunch.xcodeproj/project.xcworkspace/xcuserdata/Neil.xcuserdatad/UserInterfaceState.xcuserstate
#
no changes added to commit (use "git add" and/or "git commit -a")
非常感谢您的帮助,SirKaydian。

你已经使用 git status 命令检查过了,确认没有未提交的更改对吧? - NIlesh Sharma
我该怎么做?我已经尝试了“刷新状态”,但仍然没有任何变化。 - Neil
1
我建议在命令提示符中导航到项目的根目录并执行“git status”。许多Git UI不可靠,无法告诉您有关未暂存文件的信息。您可能需要执行“git add。”来暂存尚未提交的新文件。 - mockaroodev
好的,我执行了'git status'。看一下帖子。同时 git add . 没有做任何事情。 - Neil
5个回答

15
步骤1:
git rm --cached ProjectName.xcodeproj/project.xcworkspace/xcuserdata/username.xcuserdatad/UserInterfaceState.xcuserstate

步骤2:
git commit -m "Removed file that shouldn't be tracked"

1
我曾经尝试过这个,但没有成功,你能帮忙实现一下吗? - Vishal's p
这是什么地址? - Ahmadreza

4

好的,结果证明我只需要发表一条评论

//THIS IS A TEST

现在将其提交。现在它运行良好。这一定是某种奇怪的错误。

感谢您的帮助,SirKaydian。


当你能够时,请不要忘记将此选为答案。 - David H
3
祝您在世界顶尖的平台上编程愉快!:-) - David H
你在哪里发表了这个评论?请更具体一些。 - boostedz06

1

我不熟悉.xcuserstate文件,但它听起来像是一个特定于用户的文件。通常情况下,特定于用户的文件不应该出现在源代码控制中。这些文件经常发生变化,通常是二进制文件,因此很难进行差异比较,并且对其他用户没有帮助。尝试关闭IDE,然后运行命令,或者将此文件名添加到您的.gitignore文件中。


0
我通过以下方式解决了这个问题:
git push <remote> localbranch --force.

除非你非常确定自己在做什么,否则不要使用--force标志。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接