为何R脚本中出现<<<<<<< HEAD?如何避免其破坏代码?
Git冲突标记的成因、解决及避免方法
这些标记是什么?为什么会出现?
<<<<<<< HEAD、=======、>>>>>>> [提交ID]是Git合并代码时生成的冲突标记:
<<<<<<< HEAD:对应你当前本地分支里的代码=======:分隔线,上下分别是本地分支和待合并分支的代码>>>>>>> [提交ID]:对应要合并进来的分支/远程提交的代码
出现这种情况,是因为你本地的代码和要合并的代码在同一行/同一代码块做了不同修改,Git没法自动判断保留哪份,就会插入这些标记让你手动处理。
先解决当前的代码问题
直接删掉这些冲突标记,手动选择正确的代码逻辑:
比如保留本地分支的逻辑:
AllAlliancePerformance <- Tab_PercentCompliant %>% filter(ClaimsAdjudicatedThrough == VBP_Report_Date) %>% group_by(SubMeasureID) %>% summarise(Sum_AdaptedCompliant = sum(AdaptedCompliant, na.rm = FALSE), Sum_TotalEligible = sum(TotalEligible, na.rm = FALSE)) %>% mutate(Percent_Compliant = Sum_AdaptedCompliant/Sum_TotalEligible) %>% mutate(NCQA_Mean = NCQA_MeanList) %>% mutate(PerformanceLevel = (Percent_Compliant - NCQA_Mean))
或者保留待合并分支的逻辑:
AllAlliancePerformance <- Tab_PercentCompliant %>% filter(ClaimsAdjudicatedThrough == VBP_Report_Date) %>% group_by(SubMeasureID) %>% summarise(Sum_AdaptedCompliant = sum(AdaptedCompliant, na.rm = FALSE), Sum_TotalEligible = sum(TotalEligible, na.rm = FALSE)) %>% mutate(Percent_Compliant = Sum_AdaptedCompliant/Sum_TotalEligible) %>% #mutate(NCQA_Mean = Tab_PercentCompliant$AdaptedNCQAMean) %>% mutate(PerformanceLevel = (Percent_Compliant - AdaptedNCQAMean))
修改完成后,执行git add <你的R脚本文件名>,再git commit就完成冲突解决。
怎么避免以后再遇到?
- 开工先拉取:每次开始写代码前,执行
git pull拉取远程最新代码,让本地代码和远程保持同步,从源头减少冲突。 - 小步提交:不要一次性改大量代码,拆成多次小提交,每次只改一个功能点,缩小冲突范围。
- 用功能分支开发:别直接在主分支(main/master)改代码,新建独立的功能分支开发,合并前先把主分支的更新拉到自己的功能分支,提前解决冲突。
- 提交前查差异:提交代码前,用
git diff origin/你的分支看看本地和远程的差异,提前发现可能冲突的地方。
内容的提问来源于stack exchange,提问作者John Ryan
相关产品推荐
相关产品推荐

