代码之家  ›  专栏  ›  技术社区  ›  chimeracoder

使用git用对第二个文件所做的更改更新一个文件

git
  •  1
  • chimeracoder  · 技术社区  · 16 年前

    我对Git不熟悉;我知道基本的命令,但我不太熟悉组织项目的最佳方式。

    我有两个版本的文件执行几乎相同的操作。这两个文件之间唯一的区别是它们扫描特定文件的方式,并且区别仅限于代码的一个区域。当我向其中一个文件添加功能时,我可以将相同的更改复制并粘贴到第二个文件中,但我想这就是好的版本控制要简化的目的。

    我的最佳猜测是,我应该创建第二个分支(例如,“branch_b”),并在branch_a和branch_b中保留同名文件的副本(以便可以轻松合并它们)。但是,当我合并时,我会不会在主分支中得到两个文件的奇怪组合,而不是第二个文件的更新版本?

    3 回复  |  直到 16 年前
        1
  •  5
  •   Ben James    16 年前

    通过重构代码,可以避免代码重复。版本控制并不能代替它。

    Git可以有效地存储重复的内容,但这不是重点。一旦您将代码从存储库签出到工作树中,您仍然可以使用重复的代码。以这种方式使用版本控制工具不会使任何东西对您更具可维护性。

    见: Code reuse

        2
  •  0
  •   Daniel Stutzbach Edward Leno    16 年前

    在主分支中保留变体A,在分支中保留变体B。每当需要对文件进行更改时,请在变体A中进行更改并将其合并到分支中。在分支中,保留一个额外的提交(或一些),其中包含使分支不同的所有更改。

    霍克对重构代码的建议一般来说都是很好的建议,但是我确实意识到有时候这是不可能的。

        3
  •  0
  •   VonC    16 年前

    我确认:

    • 如果你在 f.txt ( branch A )
    • 合并到分支B

    只有 新的 从变化 f.txt-branchA 将报告给 f.txt-branchB .

    与的部分 现有的 合并不会影响差异。
    (除非您的修改直接在“代码的一个区域”内)