小编lig*_*ray的帖子

未更改的文件上的 Git 合并冲突

我已经回答了以下问题:

  1. 仅由一个分支更改的文件的 Git 合并冲突
  2. 如何避免在未触及的文件上出现 git 错误/冲突?
  3. 未完成更改时 Git 合并冲突

但我没有找到合理的解释。所以想开个新帖。

问题:当我将“master”合并到我的开发人员分支 (dev-branch) 时,我在 dev-branch 上没有修改过的文件发生合并冲突。

程序

  • git结帐大师
  • git pull --ff-only(将主分支更新为最新更改)
  • git checkout 开发分支
  • git merge --squash master
  • 导致我未修改的文件发生冲突

问题

  1. 为什么我会看到冲突?
  2. 为什么 GIT 不能自动解析它们,因为我的分支没有变化?
  3. 我该怎么做才能避免这些冲突?

===编辑:2019 年 6 月 12 日===

我开始观察我的合并行为以缩小问题范围并发现以下内容。每当我开发需要很长时间的东西时,我倾向于经常更新我的开发分支,以避免必须进行一次大的合并。

如果我在分支上工作,例如dev_branch,我曾经将master合并到dev_branch,然后继续我的开发,并每隔一段时间重复此步骤。但是我发现有用的是实际上将dev_branch合并到master并再次从它分支到一个新的开发分支dev_branch_1(请注意,由于开发尚未完成,我尚未在master上提交任何内容)并继续在新分支上进行开发。到目前为止,这似乎对我有用,可以避免这些讨厌的合并冲突。

git merge conflict

8
推荐指数
1
解决办法
1298
查看次数

CMAKE:更新函数中的列表不起作用

我按照这个这个链接编写了一个函数:

  • 将文件列表作为输入,
  • 将路径附加到每个文件
  • 通过将所有文件附加到新列表(作为输出参数传递给函数本身)来创建新列表

    function(concat_path iLiItems oLiItems cVal) 
      foreach(pfile ${${iLiItems}})
        string(CONCAT l ${${cVal}} ${pfile})
        message(STATUS ${pfile} " - " ${l})
        set(${oLiItems} ${${oLiItems}} ${l} PARENT_SCOPE)
      endforeach()
    endfunction()
    
    function(list_print liItems)
        message(STATUS "The list contains: ")
      foreach(f ${${liItems}})
        message(STATUS ${f})
      endforeach()
    endfunction()
    
    set(PROTO_SRCS base.proto dht.proto)
    
    foreach(pfile ${PROTO_SRCS}) 
      string(REPLACE ".proto" ".pb" fname ${pfile})
      string(CONCAT cc ${fname} ".cc")
      string(CONCAT h ${fname} ".h")
      set(PROTO_CPP_SRCS ${PROTO_CPP_SRCS} ${cc} ${h})
    endforeach()
    
    string(CONCAT path_prefix ${CMAKE_CURRENT_SOURCE_DIR} "/")
    concat_path(PROTO_SRCS PROTO_SRCS_PATH path_prefix)
    list_print(PROTO_SRCS_PATH)
    
    Run Code Online (Sandbox Code Playgroud)

我看到的问题是,当我最终使用函数“list_print”打印时,我看到输出列表(PROTO_SRCS_PATH)中只存在一个元素,而我期望有两个元素对应于两个输入文件:

-- base.proto - C:/Users/vaddina/workspace/protobuf-tests/app-wo-findprotobuf/base.proto
-- …
Run Code Online (Sandbox Code Playgroud)

cmake

3
推荐指数
1
解决办法
3676
查看次数

标签 统计

cmake ×1

conflict ×1

git ×1

merge ×1