zoukankan      html  css  js  c++  java
  • git常见冲突及解决办法

    1.内容冲突

    产生冲突的原因:两个用户修改了同一个文件的同一块区域,git会报告内容冲突。我们常见的都是这种。

    解决冲突的办法:编辑冲突文件,修改冲突。

    例如:冲突文件test.c

    test.c发生冲突后的内容如下:

    #include <stdio.h>
    #include <wchar.h>
    ++<<<<<<< HEAD
    +/* wide character strlen fucntion */
    +size_t my_wc_strlen(const wchar_t *s)
    ++= = = = = = =
    + wchar_t *my_wstrchr(wchar_t *ws, wchar_t wc)
    +{
    +
    +
    while (*ws) {
    ++ws;
    + }
    + return NULL;
    +}
    +
    + size_t my_wstrlen(const wchar_t *s)
    ++>>>>>>>9d201a9c61bc4713f4095175f8954b642dae8f86
    {
    const wchar_t *p = s;
    }

    其中:<<<<<<<与=======之间的内容是我修改的,=======与>>>>>>>之间的内容是别人的修改。

    解决办法:删除冲突标记,解决冲突。

    2.树冲突

    产生冲突的原因:文件名修改造成的冲突,称为树冲突。

    比如,a用户把文件改名为a.c,b用户把同一个文件改名为b.c,那么b将这两个commit合并时,会产生冲突。

    $git status

    added by us:b.c

    both deleted:origin-name.c

    added by them:a.c

    如果最终确定用b.c

    解决冲突的办法:

    git rm a.c

    git rm origin-name.c

    git add b.c

    git commit

    执行前面两个git rm时,会警告“file-name:needs merge”,可以不必理会。

  • 相关阅读:
    二级缓存配置和原理
    延迟加载
    proxy和no-proxy的策略取值的区别
    inverse理解
    Java Spring mvc 操作 Redis 及 Redis 集群
    章节6 关联映射 (转载)
    8.28笔记
    8.26函数相关练习
    8.26 课堂自由笔记 还有考皮的老师笔录
    大话设计模式1.0.2-----策略模式 单一职责原则 和 开放-封闭原则
  • 原文地址:https://www.cnblogs.com/xiaohuihui123/p/4923391.html
Copyright © 2011-2022 走看看