首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当git中存在合并冲突时合并git注释

当git中存在合并冲突时合并git注释
EN

Stack Overflow用户
提问于 2012-08-21 12:54:56
回答 1查看 2.8K关注 0票数 9

我做了下面的合并Git笔记。

参考文献:http://vmiklos.hu/blog/git-notes-merge

我克隆了一个repo,在提交中添加了notes引用(参见/notes/提交)。当我推送它时,中央回购拒绝它,因为它是非快进的-因为已经有一个关于提交对象的参考/注释/提交。为了将远程Notes引用与本地Notes引用合并,

  1. git结账参考资料/说明/母版
  2. git获取参考文献/注释/提交
  3. git合并FETCH_HEAD 自动合并206155715a78c9d91d42cda1de98449d2e0b1d36 冲突(加/加):合并冲突在206155715a78c9d91d42cda1de98449d. 自动合并失败;修复冲突,然后提交结果。
  4. vi 206155715a78c9d91d42cda1de98449d.像往常一样手动修复冲突
  5. 加206155715a78c9d91d42cda1de98449d.
  6. git提交-m“更新注释” 分离头0afb80f换钞
  7. git更新-参考文献/注释/提交标题
  8. git结账母版 之前的头部位置是0afb80f..。换钞 转到支部“主人”
  9. git推送原点参考/注释/提交 成功

问题是,这是否是最好的方法?

在git便条手册页之后,我尝试了以下操作。

  1. git获取参考文献/注释/提交
  2. git合并-v参考文献/注释/提交 没什么要更新的!

以上步骤显然对我有效。是否有一种方法可以使用git notes合并命令并合并Notes,而不是像第一个插图中所示的“分支方法”?对于我的用户来说,这个直接的命令会更有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-28 23:56:06

正如我在评论中提到的那样,第一种方法不适用于您的原因之一是您复制了错误的指令:您的第二步git fetch refs/notes/commits丢失了遥控器的名称。

关于使用git notes merge的第二种方法,您同样犯了从git fetch中丢失远程的错误。但是,即使有了这个固定的方法,我也很难让它正常工作,直到我终于意识到必须在合并之前从远程获取一个不同的ref名称空间,因为如果有冲突,它不会让您覆盖本地refs/notes/commits所指向的内容(尽管如果没有冲突,它将很高兴地将其快速转发)。

所以这对我来说很管用:

代码语言:javascript
复制
git fetch origin refs/notes/commits:refs/notes/origin/commits
git notes merge -v origin/commits

如果有冲突,它现在将告诉您编辑.git/NOTES_MERGE_WORKTREE,然后通过git notes merge --commit提交结果,或者中止与git notes merge --abort的合并。

使用git notes merge而不是上面的URL中建议的技术的一个大缺点是合并不提供任何索引,因此您不能通过git mergetool等使用正常的合并工作流,另一个缺点是它不支持重基。因此,如果您预期会出现复杂的冲突或需要重新定位,那么我建议您使用git checkout refs/notes/commits方法。但是在简单的情况下,git notes merge可能更方便,因为您可以在工作树很脏的时候执行合并,而git checkout refs/notes/commits则要求它是干净的。

我非常肯定,git-notes(1)手册页面可以使这一切变得更加明显。也许我会找点时间提交补丁。然而,与此同时,我编写了一个新的git-rnotes,它使与远程存储库之间的注释共享变得更加容易。

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

https://stackoverflow.com/questions/12055303

复制
相关文章

相似问题

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