我有一个我正在开发的应用程序的git存储库。我创建了一个主分支,现在我想将它合并回主人。它拒绝这样做是因为某些文件将被覆盖,但这些文件甚至不应该被版本控制跟踪。
如何从版本控制中删除这些文件,并强制进行此合并?我已经提交了几次文件但当然它不断变化,因为它是一个用户界面状态文件。我尝试丢弃更改,然后立即尝试合并,但每次都得到相同的错误。最近一次,它现在提到了一个关于工作树文件的错误,我不知道那是什么,如果我可以覆盖它。
基本上,我希望整个分支覆盖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
答案 0 :(得分:0)
执行此操作的一种简单方法是删除旧的master
分支,并从dev
分支创建一个名为master的新分支。:
git checkout dev
git branch -D master
git checkout -b master
git push -f origin master
回到这里的问题:
我已经提交了几次文件,但当然它不断变化 因为它是用户界面状态文件
如果这些文件可以动态地从代码中重新生成,那么就不需要在git中跟踪它们。使用git
从git rm --cached filename
移除它们,使用git commit -m "msg"
提交删除/取消跟踪,并使用您的开发分支上的echo filename >> .gitignore
将它们放入您的gitignore。