使用分支并进行合并时出现错误
$ git merge FrontEndHtmlChecks
warning: Cannot merge binary files: docker/databases/ibdata1 (HEAD vs. FrontEndHtmlChecks)
warning: Cannot merge binary files: docker/databases/ib_logfile0 (HEAD vs. FrontEndHtmlChecks)
我不得不从git中排除这些二进制文件,所以我试图从git中删除它们,但出现错误:
$ git rm docker/databases/ibdata1
docker/databases/ibdata1: needs merge
rm 'docker/databases/ibdata1'
$ git rm docker/databases/ib_logfile0
docker/databases/ib_logfile0: needs merge
rm 'docker/databases/ib_logfile0'
所以我无法合并。
如何修复?
修改的#2块: 我中止了合并并删除了master分支上的文件。我尝试再次合并,但出现错误:
git merge FrontEndHtmlChecks
CONFLICT (modify/delete): docker/databases/ibdata1 deleted in HEAD and modified in FrontEndHtmlChecks. Version FrontEndHtmlChecks of docker/databases/ibdata1 left in tree.
检查到FrontEndHtmlChecks我找不到在提交和推入thery之前如何删除这些文件... 怎么办?
答案 0 :(得分:2)
您可以使用Resolving a Git conflict with binary files
中提到的选项或者您可以检查.gitignore
文件。您可以在.gitignore的帮助下隐藏这些文件。
您只需要在该文件下提及不需要的文件即可。
示例
.gitignore文件(位于代码库的根路径中)
docker/databases/* #This will ignore all files under docker/databases directory
*.iml #This will ignore IntelliJ (Idea) iml files.
*.log
.settings
.classpath
.project
答案 1 :(得分:2)
如果您已经签入文件,则无法将它们添加到.gitignore中。
您可能需要告诉git删除曾经在源代码管理中的所有缓存文件,即
git rm --cached docker/databases/ibdata1