当前位置: 首页 > wzjs >正文

商城网站建设与维护方案全球网站排名

商城网站建设与维护方案,全球网站排名,旅游公司网站建设方案,网页定制哪家不错前言 在使用 Git 进行代码管理时,合并分支是常见的操作之一。然而,在合并过程中可能会遇到冲突问题,尤其是在多人协作开发的场景下。本文将详细介绍如何解决 Git 合并冲突,并结合实际案例分析 git status 的输出含义。 背景 在…

前言

在使用 Git 进行代码管理时,合并分支是常见的操作之一。然而,在合并过程中可能会遇到冲突问题,尤其是在多人协作开发的场景下。本文将详细介绍如何解决 Git 合并冲突,并结合实际案例分析 git status 的输出含义。

背景

在一次项目开发中,我需要将远程的 master 分支合并到本地的 chenjj 分支上。在执行 git merge origin/master 时,遇到了文件冲突问题。以下是具体的操作步骤和解决方案。

问题描述

在执行以下命令时:git merge origin/master 这条命令的含义是将远程仓库 originmaster 分支的更改合并到当前分支中

git merge origin/master

终端输出了多个文件的冲突信息,包括普通文件(如 .js.vue.json)和二进制文件(如 .woff2.woff.ttf)。最终,git status 显示所有冲突已解决,但没有明确指出普通文件的冲突情况。

解决步骤

Git 合并代码的基本流程

1.切换到目标分支


使用 git checkout <target-branch> 切换到需要合并代码的目标分支。例如:

# 切换到目标分支(Chnejj)git checkout Chnejj

2.执行合并操作


使用 git merge <source-branch> 将源分支的更改合并到目标分支。例如: 

# 合并 Chnejj 分支到 master分支git master Chnejj

3.查看当前分支状态

运行以下命令查看当前分支的状态:

git status

 输出示例:

92391@DESKTOP-NSDKPQ6 MINGW64 ~/Desktop/app/likeban-applet2 (chenjj|MERGING)
$ git status
On branch chenjj
Your branch and 'origin/chenjj' have diverged,
and have 5 and 20 different commits each, respectively.(use "git pull" to merge the remote branch into yours)You have unmerged paths.(fix conflicts and run "git commit")(use "git merge --abort" to abort the merge)Changes to be committed:modified:   common/auth.jsmodified:   common/router.jsmodified:   common/scanAndQ.jsnew file:   components/news-components/news-ad.vuemodified:   env_dev.jsmodified:   env_prod.jsmodified:   pages.jsonmodified:   pages/app/index.vuemodified:   pages/city/login/index.vuemodified:   pages/city/login/login.vuemodified:   pages/city/reveal/revealPage.vuemodified:   pages/customerService/index.vuemodified:   pages/governmentAffairs/hotwireFeedback/index.vuemodified:   pages/gxbcyjs/jkzyjs/index.vuemodified:   pages/gxbcyjs/yczyjs/index.vuemodified:   pages/home/homeBusiness.vuemodified:   pages/home/homePage.vuemodified:   pages/home/subsistencePayment.vuemodified:   pages/newsBusiness/index.vuemodified:   pages/payment/heatingGs/history.vuenew file:   pages/skipPage/Carousel.vuemodified:   pages/skipPage/car.vuenew file:   pages/skipPage/pay.vuemodified:   pages/venueReservation/components/appointmentDetial.vuemodified:   pages/venueReservation/components/bookingDetial.vuenew file:   pages/venueReservation/components/notice.vuenew file:   pages/venueReservation/feedback.vuemodified:   pages/venueReservation/index.vuemodified:   pages/venueReservation/my.vuemodified:   pages/wuye/WuyeMain.vuemodified:   pages/wuye/districtReport/districtReport.vuemodified:   store/index.jsUnmerged paths:(use "git add <file>..." to mark resolution)both modified:   static/iconfont/iconfont.cssboth modified:   static/iconfont/iconfont.ttfboth modified:   static/iconfont/iconfont.woffboth modified:   static/iconfont/iconfont.woff2
  • 解释

    • 当前分支 chenjj 和远程分支 origin/chenjj 已经分叉。
    • 所有冲突已经解决,但合并尚未完成。
    • 列出了即将提交的更改文件。

4.开始关键性的解决冲突

  1. 解决二进制文件冲突

    • 保留本地版本:git checkout --ours -- <文件路径>
    • 保留远程版本:git checkout --theirs -- <文件路径>
#保留本地文件的指令 (我选择是保留本地的文件)git checkout --ours -- static/iconfont/iconfont.woff2
git checkout --ours -- static/iconfont/iconfont.woff
git checkout --ours -- static/iconfont/iconfont.ttf
git checkout --ours -- static/iconfont/iconfont.css# 保留远程的指令git checkout --theirs -- static/iconfont/iconfont.woff2
git checkout --theirs -- static/iconfont/iconfont.woff
git checkout --theirs -- static/iconfont/iconfont.ttf
git checkout --theirs -- static/iconfont/iconfont.css# 选择完成之后还需要对刚才保留下来的文件进行提交git add static/iconfont/iconfont.woff2
git add static/iconfont/iconfont.woff
git add static/iconfont/iconfont.ttf
git add static/iconfont/iconfont.css

解决冲突的指令: 

提交保留下来的文件的指令: 

此时我们已经解决完成了冲突,但是我们还是再写入查看当前分支状态的指令,再次确定一下所有的冲突都解决完成了

$ git status

 

此时输入指令之后,提示信息中没有冲突的提示了,这就证明了我们已经解决了所有的冲突

5. 理解为什么没有显示普通文件的冲突

  • 冲突已经解决

    • 在之前的合并过程中,Git 提示了一些普通文件存在内容冲突(如 common/auth.jspages.json 等)。
    • 我手动编辑了这些文件,删除了冲突标记(<<<<<<< HEAD=======>>>>>>> origin/master),并保留了需要的内容。
    • 使用 git add <文件路径> 标记这些文件为已解决。
  • 当前状态是“所有冲突已解决”

    • git status 显示 All conflicts fixed but you are still merging.,说明冲突已经解决。
    • 普通文件现在属于“Changes to be committed”,不会再显示为冲突文件。
  •  验证是否还有未解决的冲突

    为了确保没有遗漏的冲突,可以运行以下命令:

  • 检查是否有未解决的冲突文件

git diff --name-only --diff-filter=U

执行的 git diff --name-only --diff-filter=U 命令用于列出所有未解决的合并冲突文件。--name-only 参数表示只显示文件名,不显示具体的差异内容,而 --diff-filter=U 参数表示只显示那些存在未解决冲突(Unmerged)的文件。

该命令的输出结果是空的、没有输出任何文件名,这意味着在执行该命令时,已经没有未解决的冲突文件了,或者您可能需要先运行 git add 命令将解决冲突后的文件标记为已解决。

6. 完成合并

在确认所有冲突都已经解决后,运行以下命令完成合并

$ git commit -m "解决合并冲突"

7. 推送更改到远程

完成合并后,将本地分支推送到远程:

$ git push origin chenjj:chenjj

如果远程分支已经有新的提交记录,而你的本地分支没有包含这些记录,Git 可能会拒绝推送。此时需要先拉取远程分支的更改并解决冲突:

git pull origin chenjj

http://www.dtcms.com/wzjs/316463.html

相关文章:

  • 西安做h5网站seo资源网站 排名
  • 官方网站建设银行年利息是多少钱网络广告推广方法
  • 有什么较好的网站开发框架国际新闻头条今日要闻
  • 建设网站需要的人员及资金平台推广营销
  • 为什么做网站要有自己的服务器兰蔻搜索引擎营销案例
  • 如何建立免费的个人企业网站网络营销ppt
  • 学做文案的网站网络推广是诈骗吗
  • 定制做网站报价百度seo关键词点击软件
  • 网站范例苏州优化排名seo
  • 网站建设网络安全腾讯域名
  • 做eso哪家网站好长尾关键词挖掘爱站工具
  • 网络运营商是什么意思重庆高端网站seo
  • 网站企业备案需要哪些提高seo关键词排名
  • 东莞长安做网站网页设计网站建设
  • 公司网站制作的教程静态网站开发
  • 做网站宁夏谷歌商店下载
  • 一般做公司网站需要哪几点企业网站模板图片
  • 福建省人民政府关于印发福建省定价目录的通知短视频seo营销
  • wordpress多站点批量添加下载谷歌浏览器并安装
  • 平台网站建设需要什么技术谷粉搜索谷歌搜索
  • 学前心理学课程建设网站中国搜索引擎份额排行
  • com网站域名seo分析工具有哪些
  • 内蒙古网站建设公司足球比赛直播2021欧冠决赛
  • 什么叫网站建设张家界网站seo
  • 做贸易选哪家网站武汉大学人民医院官网
  • 郑州网站推广¥做下拉去118crseo实战密码
  • 有哪些做产品产业链分析的网站如何优化网页
  • 网站域名注册免费山西网页制作
  • 中企动力官方网站东莞网
  • 提升学历的重要性与意义百度热搜seo