【发布时间】:2015-02-11 20:26:22
【问题描述】:
我有一个我正在开发的应用程序的 git 存储库。我从 master 创建了一个分支,现在我想将它合并回 master。它拒绝这样做,因为某些文件将被覆盖,但这些文件甚至不应该被版本控制跟踪。
如何从版本控制中删除这些文件,并强制进行此合并?我已经提交了几次文件,但它当然会不断变化,因为它是一个用户界面状态文件。我尝试过放弃更改,然后立即尝试合并,但每次都会遇到相同的错误。最近一次,它现在提到了一个关于工作树文件的错误,我不确定那是什么,是否可以覆盖它。
本质上,我希望整个分支覆盖 master - master 中没有任何内容不在此分支中,因为我直接从它分支出来,然后我从未修改过 master。
The working copy "app name" failed to merge.
error: Your local changes to the following files would be overwritten by merge:
app name.xcodeproj/xcuserdata/Administrator.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
Please, commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:
app name.xcodeproj/project.xcworkspace/xcshareddata/app name.xccheckout
Please move or remove them before you can merge.
Aborting
【问题讨论】:
-
Git 不会踩踏工作树中未提交的内容,无论是否跟踪。删除或移动或提交内容。查找
git filter-branch的文档,它解释了如何返回并从您的历史记录中删除不应该跟踪的内容。