Git 如何永久删除project.xcworkspace下的xUserData并解决未提交的更改

Git 如何永久删除project.xcworkspace下的xUserData并解决未提交的更改,git,version-control,merge,xcode4.5,Git,Version Control,Merge,Xcode4.5,我正在努力解决合并冲突问题(请参阅)。根据反馈,我需要使用git rm删除UserInterfaceState.xUserState 经过大量实验后,我能够删除带有“git rm-rf project.xcworkspace/xcuserdata”的文件。因此,当我在分支上工作时,它几乎立即作为需要提交的文件返回。所以我再次对文件执行git-rm,然后切换回master。然后,我再次对该文件执行git-rm。该操作再次删除了该文件 但我还是被卡住了。如果我尝试将分支合并到主分支中,它会再次表明我

我正在努力解决合并冲突问题(请参阅)。根据反馈,我需要使用git rm删除UserInterfaceState.xUserState

经过大量实验后,我能够删除带有“git rm-rf project.xcworkspace/xcuserdata”的文件。因此,当我在分支上工作时,它几乎立即作为需要提交的文件返回。所以我再次对文件执行git-rm,然后切换回master。然后,我再次对该文件执行git-rm。该操作再次删除了该文件

但我还是被卡住了。如果我尝试将分支合并到主分支中,它会再次表明我有未提交的更改。所以我去做改变。但这一次,它将UserInterfaceState.xUserState显示为要提交的文件,但该框未选中,无法选中。所以我无法前进。我甚至不能回到我的分行。文件UserInterfaceState.xUserState显示它处于“D”状态,这显然意味着它已被删除。有没有一种方法可以使用“git rm”永久删除project.xcworkspace下的xcuserdata?我是否应该尝试将其放回存储库?如果是,如何进行

救命!!有什么想法吗

更新:

我粘贴git状态的结果

Changes to be committed:
   modified: project.pbxproj
   modified: [a list of all the files to be merged]

Unmerged paths:
   (use "git add/rm <file>..." as appropriate to mark resolution)
   deleted by us: project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcusers‌​tate 
   both modified: ../[projectname]/en.lproj/Localizable.strings
要提交的更改:
修改:project.pbxproj
修改:[要合并的所有文件的列表]
未合并路径:
(酌情使用“git add/rm…”标记分辨率)
已被我们删除:project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcusers‌​泰特
两者都已修改:../[projectname]/en.lproj/Localizable.strings

如果删除了分支中的文件,为什么不将分支合并到master中?这就足够了

我认为您可能会有冲突,因为您删除了两个分支中的文件,这就是为什么您无法从一个分支切换到另一个分支:在冲突解决之前,您将无法执行此操作。要解决此文件的冲突,只需进行提交,因为它被标记为已删除(D)。如果您有其他文件,请检查在解决冲突时是否跳过任何新添加的文件


还要确保在.gitignore中有一条规则要忽略XUserData文件以防止git再次尝试将其添加到索引中,请查看以下问题:

,但这就是问题所在。即使它被标记为已删除,它旁边的复选框仍处于未选中状态,无法选中。因此,表示提交文件的按钮变灰。关于.gitignore,我在规则中有xUserData、*.xUserState和project.xcworkspace/。但是它似乎没有任何作用。你能将运行git status命令的结果添加到你的问题中吗?啊,我可以运行git-commit来提交该文件。这允许我返回xcode尝试合并。合并失败,出现了一个我未能捕获的错误,但类似于“合并失败。xcode不会覆盖…”。我认为它是指存在于分支上的UserInterfaceState.xUserState是某种状态。因此,我退出合并并尝试切换到分支。由于主分支上的未提交更改,它再次失败。然后我看到所有要合并的文件都列为需要提交(奇怪),包括UserInterfaceState.xcuserstate。如果我尝试提交,它不会让我声明:致命:无法在合并期间进行部分提交。同样,等待提交的文件是属于分支的文件。UserInterfaceState.xUserState标记为D状态,重置标记为M状态。您建议我执行任何git命令来推动合并吗?感谢您提供有关git状态请求的任何帮助,结果如下:git状态#在分支主机上#要提交的更改:##修改:project.pbxproj#修改:[要合并的所有文件的列表]##未合并的路径:#(根据需要使用“git add/rm…”标记解析)##被我们删除:project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate#都已修改:../[projectname]/en.lproj/Localizable.strings那么,您建议我执行任何git命令来推动合并吗?