首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git签出--合并<tree>-- <paths>不按预期工作

git签出--合并<tree>-- <paths>不按预期工作
EN

Stack Overflow用户
提问于 2015-03-19 14:16:38
回答 1查看 441关注 0票数 2

当我试图通过检查工作树的路径将我的工作树更改与tree-ish上的文件合并时,前一个更改会被后面的更改覆盖。

我没想到会有这种行为。相反,我希望Git将文件内容替换为默认、合并或diff3样式中显示的冲突标记,具体取决于--merge--conflict=merge--conflict=diff3选项是否提供给git checkout

给定以下用例:

代码语言:javascript
复制
git init
echo foo > foobar
git add foobar
git commit --message=blabla foobar
echo bar > foobar
git checkout --conflict=diff3 HEAD -- foobar

我失去了使用echo bar > foobar所做的本地更改。

此外,为什么手册页git-checkout(1)在概要git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>…中提到-m--conflict=<style>选项?这两种选择的目的是什么?

我在Microsoft 7上使用git版本1.9.4.msysgit.2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-19 14:48:42

我明白为什么你期望这种行为--在描述你所得到的行为时,医生会说“当从索引中签出路径时”,在我看来,这就像是一个文档错误。注意,当描述您想要的行为时,它表示“切换分支时”。我和你一样误读了那双,也同样感到惊讶。

我认为,要准确地描述它现在正在做的事情,文档应该只说“当检查路径时”,并丢失“从索引”部分,但我也会为您想要的部分而争论,对于合并行为,“从提交还是树中签出路径时”将是一个更好的选择,而且应该更改为这样的方式--这一过程更容易被证明,因为atm实际上并没有说明它在这里要做什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29146968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档