美文网首页
git 代码合并冲突

git 代码合并冲突

作者: 哈酒拎壶冲 | 来源:发表于2022-07-29 10:47 被阅读0次

    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
    

    关于git合并冲突问题会再本文中继续补充做一个记录

    相关文章

      网友评论

          本文标题:git 代码合并冲突

          本文链接:https://www.haomeiwen.com/subject/zyafwrtx.html