代码之家  ›  专栏  ›  技术社区  ›  Joshua Goldberg

如何看待git与另一个分支(仅针对当前修改的文件)的区别?

  •  0
  • Joshua Goldberg  · 技术社区  · 4 年前

    通常,当我对测试进行基线化时,我想看看测试产品相对于合并父产品有什么变化,但那时我不想看到所有的差异。(也就是说,我不想看到我在分支上的早期变更集中已经完成的代码或测试。)

    如何将差异缩小到仅限于当前修改的文件?

    1 回复  |  直到 4 年前
        1
  •  1
  •   Mark Adelsberger    4 年前

    一种选择是

    git diff <branch> -- $(git diff --name-only)
    

    这有一个限制,您必须在根目录中运行它才能正确解释路径。

    如果您不想受此限制,可以使用sed和xargs

    git diff --name-only HEAD | sed 's/^/:\/:/' | xargs git diff <branch-or-commit> --
    
        2
  •  -1
  •   Joshua Goldberg    4 年前
    git diff --name-only HEAD | xargs git diff <branch-or-commit> --
    

    运行此命令时,必须位于存储库的根目录中。