Git冲突解决: git checkout高级用法
背景
Git冲突的原因,一般是修改了同一个文件导致的,这个文件有可能是别人提交到远程仓库里面,还有就是需要合并这个文件导致的。
解决方法
- 你确定你需要的是哪个仓库的文件
git checkout --theirs conflicted_file.txt # 保留远端的
git checkout --ours conflicted_file.txt # 保留本地的
- 然后执行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高级用法相关推荐
- git冲突解决,使用git命令解决冲突【通用版】
文章目录 一.准备 1-1.dev分支里面的README 1-2.master分支里面的README 1-3.说明 二.冲突 2-1.合并结果 2-2.解决冲突一(有master分支操作权限) 2-2 ...
- 【git】git冲突解决详解
git冲突解决详解 方法1:pull下来然后修改冲突文件 方法2: cherry-pick然后checkout git merge时,不免产生各种各样的冲突,可是我们连如何选择版本都晕半天,这里进行详 ...
- git 冲突解决一把梭
在 git 冲突解决时,如果能够理解双方的提交信息,解决起来自然会游刃有余.但是当冲突的内容非常多的时候,作为后备方案,正确运用 git 可以让我们少学很多东西(逃 冲突解决大概有三类方法 第一类:g ...
- git冲突解决-详细版本
一.git简介 无论是远程分支origin/master还是本地分支master分支,这算是两个分支,其他分支同理.分支之间可以切换使用checkout 二.git可能导致冲突的情况 1. 两个分支之 ...
- Git冲突解决之P4Merge
在Git使用时,经常会碰到冲突的问题,这里介绍一个还不错的可视化冲突解决工具,感觉还不错. 认识下: P4Merge 是一款非常优秀的 git merge 工具,且跨平台兼容.尽管 git 亦有内部实 ...
- git冲突解决(命令行)大全CTMD
冲突 前言 场景一.拉取远端分支代码时产生冲突 解决方案 场景二 .与远程分支都修改了同一个文件 解决方案 前言 工作两年多了,用git总会发生冲突.因为是嵌入式入的行一直在ubuntun里写代码 , ...
- git冲突解决的几种办法
文章目录 git stash 栈 放弃本地修改 撤销分支 强行冲掉之前的分支 删除分支 git stash 栈 git stash git pull git stash pop 当pull出现冲突时 ...
- IDEA:idea中的Git冲突解决(非常重要)
文章目录 一.前言 1.什么是冲突 二.实战分析 1.生产上冲突的场景 1.2.常见冲突的生产场景如下: 1.3.git的合并中产生冲突的具体情况: 1.4.强制回滚到指定的提交记录版本 三.idea ...
- git提交本地项目gitlab合并分支提交代码合并分支时的冲突解决git拉取新项目
总结:选中右键 git add commit pull 运行 push 一.把dev(主分支)合并到本地自己的分支 1.选中要提交的对象(可以是整个项目,也可以是单模块提交) 2.右键-Git-Add ...
最新文章
- 专访 | 社科学院和美术学院毕业生与大数据的故事【第一届数据故事计划】
- python 三步问题
- 理解严格模式下JavaScript的this指向的变化
- 使用Cobbler安装多版本操作系统
- 设计模式视频教程——【从设计到模式】
- 数据库优化常用的途径(方法)
- 试卷生成系统安装与卸载
- Codeforces - 1191D - Tokitsukaze, CSL and Stone Game - 博弈论
- 球动画设计HTML5,html5 canvas炫彩运动小球动画特效
- linux系统安装word,如何在Linux中安装FreeOffice 2018
- 关于计算机网络简笔画,玩电脑简笔画图片
- Ping++通过PCI DSS认证,保护企业用户信息安全
- 数字集成电路设计-12-状态机的四种写法
- 深夜,我常逛的几个网站。
- CVPR2017论文
- 如何刻录服务器安装系统光盘启动,刻盘之刻录系统安装光盘和启动光盘的注意事项小结...
- 验证数据,正则表达式
- c语言作业格式,C语言作业.doc
- 一款直播电视接口分析
- Jarvis OJ- [XMAN]level2/3_x64-Writeup——64位简单栈溢出
热门文章
- Python全栈(八)Flask项目实战之6.前台注册功能开发
- 谈一下3月22日线下肉山小课堂感受
- MySQL表字段类型
- python爱好者社区 投稿_2018年Python爱好者社区历史文章合集(作者篇)
- 计算机英语词典 txt,英汉词典TXT格式英汉词典TXT格式.doc
- 电子商务外包是网络营销市场需求
- 2021.2.15-2.22 人工智能行业每周技术动态
- 计算机一分钟最快打多少字,世界上打字最快的人 马特斯科娃一分钟打多少字...
- 控制电机及应用课程简单总结
- 赵小楼《天道》《遥远的救世主》解析(3)为什么说肖亚文把丁元英安排到古城是惜缘中的小攀缘?