提示:解决冲突后,标记更正的路径

Posted

技术标签:

【中文标题】提示:解决冲突后,标记更正的路径【英文标题】:hint: after resolving the conflicts, mark the corrected paths 【发布时间】:2015-08-26 12:59:43 【问题描述】:

git 有时会在冲突中给我这个消息(在恢复或樱桃挑选期间)

hint: after resolving the conflicts, mark the corrected paths

这是什么意思?

【问题讨论】:

【参考方案1】:

这意味着您需要明确告诉 Git 您已解决每个文件或文件夹(即路径)的冲突。

显示尚未解决的冲突列表:

git status

将冲突标记为已解决。

应保留文件夹中的文件或所有文件,并解决所有冲突:

git add

应该删除文件或文件夹:

git rm

下一步:

git commit

【讨论】:

git commit 不一定是最后一步,例如在rebase 期间。 git status 上没有显示除 changelog.md 以外的文件时出现什么问题,但我确信提交除了 cnagelog 之外还有其他更改? @Gobliins @Gobliins 请提出一个新问题并添加此信息:git diff 返回什么?您是在变基/合并还是只是提交更改? @NickVolynkin 我今天在另一个问题上,我会在星期一告诉你,当我回来时,git diff 会返回什么 我使用 git add 和 dot: "git add ."而是“git add”【参考方案2】:

因为有些文件有冲突,你可以输入git status找出有冲突的文件是什么,解决冲突后,直接git commit -m sth log,最后输入git cherry-pick your-commmit-id。查看详情http://wiki.koha-community.org/wiki/Using_Git_Cherry_Pick#Resolve_conflicts

【讨论】:

【参考方案3】:

这...可能会令人困惑,而在 Git 2.34(2021 年第四季度)中,“git cherry-pick(man) 给出的建议消息更加清晰:

当它要求最终用户解决提交的冲突重播时,它现在(Git 2.34,Q4 2021)说:

git cherry-pick:
After resolving the conflicts, mark them with
`git add`/`rm <pathspec>`, then run
`git cherry-pick --continue`

You can instead skip this commit with `git cherry-pick --skip`.

To abort and get back to the state before `git cherry-pick`
run `git cherry-pick --abort`.
git revert:
After resolving the conflicts, mark them with
`git add`/`rm <pathspec>`, then run
`git revert --continue`

You can instead skip this commit with `git revert --skip`.

To abort and get back to the state before `git revert`
run `git revert --abort`.

参见ZheNing Hu (adlternative) 的commit f172556(2021 年 8 月 22 日)。(由 Junio C Hamano -- gitster -- 合并于 commit 173368d,2021 年 9 月 10 日)

cherry-pick: 使用更好的建议消息

指导者:Christian Couder指导者:Hariom Verma帮助者:Phillip Wood协助:Junio C Hamano签字:胡哲宁

"git cherry-pick"(man),看到冲突后说:

hint: after resolving the conflicts, mark the corrected paths 
hint: with `git add <paths>` or `git rm <paths>` 
hint: and commit the result with `git commit`.

好像运行“git commit”来结束这一步的解决方案就是故事的结局。

这源于该命令最初是选择一个 single 提交而不是 range 的提交,并且该消息是当时写的,并且尚未调整。

在挑选提交的范围 em>时,该命令在范围的中间时停止,但是在解决冲突之后和(可选地)与“git commit”记录结果后,用户必须运行“git cherry-pick --continue”来处理范围的其余部分,“--skip”来删除当前提交,或者“--abort”来丢弃系列。

建议使用“git cherry-pick --continue/--skip/--abort”,以便消息也涵盖选择一系列提交的情况。

同样,这种优化可以应用于git revert(man),建议使用“git revert --continue/--skip/--abort”这样消息也涵盖了一系列提交被还原的情况.

值得一提的是,现在我们在print_advice()中使用advice()打印GIT_CHERRY_PICK_HELP的内容,每行输出都会以“hint:”开头。

【讨论】:

以上是关于提示:解决冲突后,标记更正的路径的主要内容,如果未能解决你的问题,请参考以下文章

《我的世界》游戏组件冲突或游戏路径配置异常,导致无法启动游戏怎么办?

如何解决nginx ingress的路径冲突?

EPLAN P8 2.1 项目打开提示路径不对错误,如何解决

项目引用Kotlin与databinding,ARouter,Architecture Components冲突解决办法

创建 conda 环境:“发现冲突!”当解决环境和“寻找最短冲突路径”永远运行时

急!文件打不开,提示:路径不存在,或是无效目录!请高手帮忙!谢谢