git 代码合并冲突
Auto-merging Podfile.lock
podfile.lock合并冲突
podfile.lock 该文件用于保存已经安装的Pods依赖库的版本,Podfile.lock文件最大得用处在于多人开发。对于没有在Podfile中指定Pods依赖库版本的写法,如下:
pod JSONKIT
该句话用于获取当前SBJson这个Pods依赖库的最新版本。
当团队中的某个人执行完pod install命令后,生成的Podfile.lock文件就记录下了当时最新Pods依赖库的版本,这时团队中的其它人check下来这份包含Podfile.lock文件的工程以后,再去执行pod install命令时,获取下来的Pods依赖库的版本就和最开始用户获取到的版本一致。如果没有Podfile.lock文件,后续所有用户执行pod install命令都会获取最新版本的SBJson,这就有可能造成同一个团队使用的依赖库版本不一致, 这对团队协作来说绝对是个灾难!
言归正传 合并代码发生podfile.lock冲突怎么解决 在这里做一个记录
首先 删除当前podfile.lock
rm /Users/xxx/Desktop/XXX/Podfile.lock
然后重新pod install 生成新的Podfile.lock
pod install
生产新的Podfile.lock文件后需要添加到当前分支并提交
git add Podfile.lock
git commit -m "add podfile.lock"
提交成功后继续合并之前代码操作
git merge xxx
“Your local changes to the following files would be overwritten by checkout” (切换分支)解决:
当前分支有未跟踪的文件,checkout 命令会覆盖它们,请缓存( stash )或者提交( commit )。
未跟踪文件的内容改动不重要,放弃修改
git checkout -- filepathname(路径)
git checkout
合并代码 CONFLICT (content): Merge conflict in xxx/xxx/FindInspectViewController.m
找到相应的页面修改冲突代码 修改完成后依次添加文件后提交
git add xxx/xxx/FindInspectViewController.m
git commit -m "xxxx"
继续合并代码
git merge feature
git合并分支时出现“Please enter a commit message to explain why this merge is necessary”报错的解决方法
按键盘上的“i”键可进入插入模式
这时可以修改最上方的黄色部分,改成你想写的合并原因
按键盘上的“Esc”键退出插入模式
最后在最下面输入“ :wq ”后按回车键即可
git删除本地分支
git branch -d dev
删除远程分支
git push origin -d branch
添加或修改文件后,git push时出现"Everything up-to-date" 即一起都是最新的
合并代码后出现了“The File Can not be opened” 错误,打不开工程文件,是因为工程配置文件.xcodeproj 冲突导致 具体解决方法如果
1.点击.xcodeproj 文件右击文件 显示包内容
2.打开project.pbxproj 用文本编辑 打开
3.找到冲突信息所在的地方(用command+f 搜索分别搜索 )1 <<<<<<< 2 ====== 3 >>>>>>,仔细查看代码 查看代码完整性,例如少括号等,主要检查代码格式,依次删除冲突3行代码
4.保存,退出
然后终端执行
git add xxx
git commit -m "xxxx"
git merge xxxx
合并代码有时候会出现无法找到的冲突 此时可以考虑回滚合并前版本代码
//版本号可去远程库获取
git reset --hard 版本号
//重新push 此时因为本地版本低于线上版本 故需要强制推送覆盖线上版本
git push -f -u origin xxxx