【问题标题】:Git file rename with branches and merges带有分支和合并的 Git 文件重命名
【发布时间】:2013-12-05 04:57:51
【问题描述】:

以下要点解释了我的问题

rename-test.sh

基本上,文件在 myBranch 中被重命名然后修改。

master 中的另一个开发者用原始名称修改了文件。

将 myBranch 合并到 master 导致合并冲突,我现在有 2 个文件。

【问题讨论】:

    标签: git rename


    【解决方案1】:

    重命名不是这里的问题。问题是两个分支中的冲突更改:两个分支中都附加了一行,Git 无法知道 谁是对的。您必须通过手动解决冲突来告诉它。

    如果你让data.txt 更长一点,比如 5 行,在myBranch 中你重命名文件并附加一行,在 master 中你 preend 一行,合并将起作用没有冲突。

    【讨论】:

    • 任何有更多细节的链接。当 Git 共享重命名的文件时,如何确定文件已被重命名?文件中的更多内容如何为 Git 提供更多详细信息来解决文件重命名问题。
    • 我认为 Git 不会“sha”文件名,它会将所有文件的总内容共享在一起。文件名无关紧要。不幸的是,我在 Git Book 中找不到很多细节:git-scm.com/book/en/…
    【解决方案2】:

    在我的示例 rename-test.sh 中,我调整了相似度索引,现在 git 认为 data.txt 和 data-renamed.txt 不再是单独的文件。

    合并命令为:

    git merge -X rename-threshold=20 myBranch

    【讨论】:

      猜你喜欢
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 2017-07-22
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      相关资源
      最近更新 更多