背景

Git冲突的原因,一般是修改了同一个文件导致的,这个文件有可能是别人提交到远程仓库里面,还有就是需要合并这个文件导致的。

解决方法

  1. 你确定你需要的是哪个仓库的文件
git checkout --theirs conflicted_file.txt  # 保留远端的
git checkout --ours conflicted_file.txt # 保留本地的
  1. 然后执行add和commit
git add -A
git commit -m "update conflict

举个栗子

获取远端服务器上的文件,提示冲突了需要合并

# git cherry-pick FETCH_HEAD
* branch            refs/changes/85/12385/3 -> FETCH_HEAD
error: 'cherry-pick' is not possible because you have unmerged files.
hint: Fix them up in the work tree,
hint: and then use 'git add/rm <file>' as
hint: appropriate to mark resolution and make a commit,
hint: or use 'git commit -a'.
fatal: cherry-pick failed

查看当前仓库的状态

# git status
Not currently on any branch.
You are currently cherry-picking commit 53e5374.(fix conflicts and run "git cherry-pick --continue")(use "git cherry-pick --abort" to cancel the cherry-pick operation)Unmerged paths:(use "git add <file>..." to mark resolution)both modified: file1.txt

用提示的命令执行

# git cherry-pick --continueU   file1.txterror: 'commit' is not possible because you have unmerged files.
hint: Fix them up in the work tree,
hint: and then use 'git add/rm <file>' as
hint: appropriate to mark resolution and make a commit,
hint: or use 'git commit -a'.
fatal: Exiting because of an unresolved conflict.

提示file1.txt有更新,确定替换为远程仓库的文件。这里用theirs

git checkout --theirs file1.txt

然后添加到本地仓库

git add -A

最后继续cherry-pick「复制」

# git cherry-pick --continue
[detached HEAD 8f26ce8] Summary : test git checkout --theirsAuthor: Rik2 files changed, 0 insertions(+), 0 deletions(-)

小结

git ckeckout 和 带参数的–ours和 --theirs还是有区别的。

Git冲突解决: git checkout高级用法相关推荐

  1. git冲突解决,使用git命令解决冲突【通用版】

    文章目录 一.准备 1-1.dev分支里面的README 1-2.master分支里面的README 1-3.说明 二.冲突 2-1.合并结果 2-2.解决冲突一(有master分支操作权限) 2-2 ...

  2. 【git】git冲突解决详解

    git冲突解决详解 方法1:pull下来然后修改冲突文件 方法2: cherry-pick然后checkout git merge时,不免产生各种各样的冲突,可是我们连如何选择版本都晕半天,这里进行详 ...

  3. git 冲突解决一把梭

    在 git 冲突解决时,如果能够理解双方的提交信息,解决起来自然会游刃有余.但是当冲突的内容非常多的时候,作为后备方案,正确运用 git 可以让我们少学很多东西(逃 冲突解决大概有三类方法 第一类:g ...

  4. git冲突解决-详细版本

    一.git简介 无论是远程分支origin/master还是本地分支master分支,这算是两个分支,其他分支同理.分支之间可以切换使用checkout 二.git可能导致冲突的情况 1. 两个分支之 ...

  5. Git冲突解决之P4Merge

    在Git使用时,经常会碰到冲突的问题,这里介绍一个还不错的可视化冲突解决工具,感觉还不错. 认识下: P4Merge 是一款非常优秀的 git merge 工具,且跨平台兼容.尽管 git 亦有内部实 ...

  6. git冲突解决(命令行)大全CTMD

    冲突 前言 场景一.拉取远端分支代码时产生冲突 解决方案 场景二 .与远程分支都修改了同一个文件 解决方案 前言 工作两年多了,用git总会发生冲突.因为是嵌入式入的行一直在ubuntun里写代码 , ...

  7. git冲突解决的几种办法

    文章目录 git stash 栈 放弃本地修改 撤销分支 强行冲掉之前的分支 删除分支 git stash 栈 git stash git pull git stash pop 当pull出现冲突时 ...

  8. IDEA:idea中的Git冲突解决(非常重要)

    文章目录 一.前言 1.什么是冲突 二.实战分析 1.生产上冲突的场景 1.2.常见冲突的生产场景如下: 1.3.git的合并中产生冲突的具体情况: 1.4.强制回滚到指定的提交记录版本 三.idea ...

  9. git提交本地项目gitlab合并分支提交代码合并分支时的冲突解决git拉取新项目

    总结:选中右键 git add commit pull 运行 push 一.把dev(主分支)合并到本地自己的分支 1.选中要提交的对象(可以是整个项目,也可以是单模块提交) 2.右键-Git-Add ...

最新文章

  1. 专访 | 社科学院和美术学院毕业生与大数据的故事【第一届数据故事计划】
  2. python 三步问题
  3. 理解严格模式下JavaScript的this指向的变化
  4. 使用Cobbler安装多版本操作系统
  5. 设计模式视频教程——【从设计到模式】
  6. 数据库优化常用的途径(方法)
  7. 试卷生成系统安装与卸载
  8. Codeforces - 1191D - Tokitsukaze, CSL and Stone Game - 博弈论
  9. 球动画设计HTML5,html5 canvas炫彩运动小球动画特效
  10. linux系统安装word,如何在Linux中安装FreeOffice 2018
  11. 关于计算机网络简笔画,玩电脑简笔画图片
  12. Ping++通过PCI DSS认证,保护企业用户信息安全
  13. 数字集成电路设计-12-状态机的四种写法
  14. 深夜,我常逛的几个网站。
  15. CVPR2017论文
  16. 如何刻录服务器安装系统光盘启动,刻盘之刻录系统安装光盘和启动光盘的注意事项小结...
  17. 验证数据,正则表达式
  18. c语言作业格式,C语言作业.doc
  19. 一款直播电视接口分析
  20. Jarvis OJ- [XMAN]level2/3_x64-Writeup——64位简单栈溢出

热门文章

  1. Python全栈(八)Flask项目实战之6.前台注册功能开发
  2. 谈一下3月22日线下肉山小课堂感受
  3. MySQL表字段类型
  4. python爱好者社区 投稿_2018年Python爱好者社区历史文章合集(作者篇)
  5. 计算机英语词典 txt,英汉词典TXT格式英汉词典TXT格式.doc
  6. 电子商务外包是网络营销市场需求
  7. 2021.2.15-2.22 人工智能行业每周技术动态
  8. 计算机一分钟最快打多少字,世界上打字最快的人 马特斯科娃一分钟打多少字...
  9. 控制电机及应用课程简单总结
  10. 赵小楼《天道》《遥远的救世主》解析(3)为什么说肖亚文把丁元英安排到古城是惜缘中的小攀缘?