git gitignore文件失效处理
- 它们可以不同步,因为它们是自动生成的,是根据你的代码生成的,而且每运行一次都会自动覆盖上次版本,它们是被动变化而且可以由你的代码生成
- 它们必须不同步,因为它们可能包括了编译或是编程环境信息,比如路径等不重要但是一定不一样的信息,这样势必每次即使没有修改也会造成冲突
- 这种情况造成的结果非常简单,就是ignore文件失效,文件会继续被跟踪,被commit ,被push ,被 merge。。。
- 这时候要如何处理?非常简单,执行一句命令就好了,在本地cache中清空这些需要ignore的文件,至于本地cache是什么以及为什么叫这个名字这里不详细说,你只要知道其他它就指的是stage就好了
- 命令:git rm -r --cached xx(MPChartLib/build)
- (不过既然是清空stage,也就是说commit 也可以咯?没有试,下次有机会可以试一试)
- 这种情况就稍微复杂一些,因为它涉及到git的合并原理
- 这种情况下即使你清空了本地,执行上面那条命令已经得到这个结果时“fatal: pathspec 'MPChartLib/build' did not match any files”,当你进行pull的时候,因为远程是仍然有这些文件的,而且关键是你的ignore动作不会当成最新操作,让远程的这些文件消失(不知道用push能不能行,但不能直接push因为可能有其他修改),所以当你pull的时候,它们会被一块pull下来,而你本地虽然ignore了,但是这些文件还是存在的,所以就可能会有两个结果:本地直接增加另一份ignore文件的拷贝;git 报文件合并冲突。实际使用中是报了文件合并冲突,见[1]
- 这个时候如何做呢,其实非常简单,就是在本地把build文件全部删除,然后再pull远程(注意这个操作成功的条件是刚才冲突的文件全部是build文件,如果有其他文件冲突,要先把它们的冲突解决),这次pull一定是能成功的,然后你再在本地删除刚pull的build文件,然后add commit push,ok,现在远程会把你的删除操作作为最新操作,并且删除掉远程的这个被ignore的文件
- 现在你重新生成build,再拉取远程也不会有问题了
|
1
error: The following untracked working tree files would be overwritten by merge:
MPChartLib/build/intermediates/bundles/debug/classes.jar
MPChartLib/build/intermediates/bundles/release/classes.jar
MPChartLib/build/intermediates/incremental/mergeDebugAndroidTestAssets/merger.xml
MPChartLib/build/intermediates/incremental/mergeDebugAndroidTestResources/merger.xml
MPChartLib/build/intermediates/incremental/mergeDebugAndroidTestShaders/merger.xml
MPChartLib/build/intermediates/incremental/mergeDebugAssets/merger.xml
MPChartLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
MPChartLib/build/intermediates/incremental/mergeDebugShaders/merger.xml
MPChartLib/build/intermediates/incremental/mergeReleaseAssets/merger.xml
MPChartLib/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml
MPChartLib/build/intermediates/incremental/mergeReleaseShaders/merger.xml
MPChartLib/build/intermediates/incremental/packageDebugResources/merger.xml
MPChartLib/build/intermediates/incremental/packageReleaseResources/merger.xml
MPChartLib/build/intermediates/res/resources-debug-androidTest.ap_
MPChartLib/build/outputs/aar/MPChartLib-debug.aar
MPChartLib/build/outputs/aar/MPChartLib-release.aar
Please move or remove them before you can merge.
Aborting
|
git gitignore文件失效处理的更多相关文章
- Git .gitignore文件简介及使用
Git .gitignore文件简介及使用 By:授客 QQ:1033553122 .gitignore 这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中.实际项目中,很多文件都是不需要版本 ...
- Git .gitignore文件忽略
Git .gitignore文件忽略 学习了:http://blog.csdn.net/yonnangel/article/details/50115059 http://www.cnblogs.co ...
- Git .gitignore文件说明
参见:https://book.git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E ...
- Git .gitignore文件的使用
本文转载自 http://blog.csdn.net/xmyzlz/article/details/8592302 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .giti ...
- git rm -r --cache命令 及 git .gitignore 文件
git 的 .gitignore 文件的作用是在代码提交时自动忽略一个文件.不将其纳入版本控制系统. 比如.一般我们会忽略IDE自动生成的配置文件等. 如果一个你要忽略的文件已经纳入到了git ,也 ...
- Git - .gitignore文件的用法
.gitignore文件的作用 .gitignore文件用来忽略被指定的文件或文件夹的改动,被记录在.gitignore文件里的文件或文件夹,是无法被git跟踪到的,换句话说,被忽略的文件是不会被放入 ...
- .gitignore文件失效的解决方案
通常在idea中,我们使用git进行项目管理的时候,一些不需要的文件如.idea,.target文件不需要上传至gitlab仓库,这时,就需要在项目中定义一个.gitignore文件,用来标识这些文件 ...
- git .gitignore 文件 解决二进制文件冲突问题
.gitignore 主要是添加 忽略文件 .最近团队开发经常出现 UserInterfaceState.xcuserstate 冲突,打开发现是二进制文件 ,没法解决冲突. 只好 rm -rf 之 ...
- git .gitignore 文件不起作用
.gitignore 不起作用的原因是因为 git 有以前文件缓存,只要清理一次缓存即可 git rm -r --cached . // 然后再进行 git git add . git commit
随机推荐
- 嗅探、中间人sql注入、反编译--例说桌面软件安全性问题
嗅探.中间人sql注入.反编译--例说桌面软件安全性问题 今天这篇文章不准备讲太多理论,讲我最近遇到的一个案例.从技术上讲,这个例子没什么高深的,还有一点狗屎运的成分,但是它又足够典型,典型到我可以讲 ...
- 【吉光片羽】奇怪的Bug-细节的问题
这几天用Winform开发了一个小界面,遇到几个奇怪的问题,记录一下. 1.背景图片漏光. 当时很是奇怪,以为是图片的问题,让美工重新发,改成jpg也都存在.很是奇怪,原图这个地方肉眼看是不透明的,而 ...
- java提高篇(十三)-----equals()方法总结
equals() 超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等.该方法的源码如下: public boolean equals(Object obj) { retu ...
- Dynamics CRM 2013 installation
原创地址:http://www.cnblogs.com/jfzhu/p/3445820.html 转载请注明出处 一 硬件要求 1. CRM Server 下表对硬件的要求是假定Microsoft S ...
- swift NSComparator
var cmptr:NSComparator = {(obj1:AnyObject!, obj2:AnyObject!) -> NSComparisonResult in if((obj1[&q ...
- 从体系架构上分析PRINCE2和pmp的区别
一, 目标不同 PMP希望造就一个高效的项目经理,PRINCE2希望做成一个高效的项目. 二, 定位不同 PMP 是框架,PMBOK是指南,是统一化语音,是统一指导项目经理what to do. 而P ...
- 爱上MVC~MVC4模型验证可以放在前端
回到目录 MVC4.0推出后,在模型验证上有了一个新的改近,它支持前端验证,即在用户POST之前,如果验证失败,则Action(POST方式的)不会被执行,而直接停留在原视图,这对于用户体验是好的,它 ...
- EF架构~XMLRepository仓储的实现~续(XAttribute方式)
回到目录 之前我写过关于XMLRepository仓储的实现的文章,主要是针对XElement方式的,对于XML的结构,一般来说有两种,一是使用节点方式的,我习惯称为XElement方式,别一种是属性 ...
- require.js 的使用
一.为什么要用require.js 在同一个页面要加载多个js文件时,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长: 其次,由于js文件之间存在依赖关系,因此必须严格保证加载顺序(比 ...
- Git Sophisticated Commands
Compare two branches: branch_1 and branch_2: git diff branch_1…branch_2 Merge specified files of one ...