zoukankan      html  css  js  c++  java
  • Git冲突解决: git checkout高级用法

    背景

    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 --continue
    
    U   file1.txt
    
    error: '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 --theirs
     Author: Rik
     2 files changed, 0 insertions(+), 0 deletions(-)
    

    小结

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

  • 相关阅读:
    noip2014Day2解题报告
    浴谷八连测R4
    pythonic-让python代码更高效
    java源码学习(一)String
    湖北省汉十高速公路项目接近尾声,所想所感真的值得写写
    jQuery插件ImageBox的使用
    那位兄弟帮忙写个正则表达式哦!急用阿
    如何在页面调用JS函数的代码
    控件的EnableViewState详细分析
    某人给gridview如此集中数据源,我只用过几个,晕倒!!
  • 原文地址:https://www.cnblogs.com/ievjai/p/14382630.html
Copyright © 2011-2022 走看看