代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Benjamin Brown

问题:Make在Git中切换分支后重建整个项目

  •  0
  • Jeffrey Benjamin Brown  · 技术社区  · 6 年前

    据说,Git的最佳实践是在分支中进行实验,只有在看起来完美的时候才将工作合并到master中。但这大大减慢了我的开发周期,因为在Git中切换分支似乎触及了每个文件,甚至那些没有改变的文件。结果是 make 从头开始重建整个项目,而不仅仅是那些已更改的文件。

    2 回复  |  直到 6 年前
        1
  •  2
  •   MadScientist    6 年前

    根据我的经验,Git不会更新在切换分支时没有更改的文件。我敦促您通过查看切换分支之前和之后的修改时间来更仔细地检查这个假设,对于已经更改和没有更改的文件。如果文件的时间戳真的发生了变化而没有变化,那么您可能需要找出Git的问题所在。

    如果文件修改时间没有改变,但所有内容仍在重建,那么makefile就有问题。

    如果您发现Git确实只更新了更改过的文件的时间戳,但是这些文件是系统的核心,并且导致了大量的重建,那么您可以考虑使用 git worktree 在不同的工作树中保留不同的分支,这样就不必在同一目录结构中在它们之间来回切换。

        2
  •  1
  •   Alex Cohn    6 年前

    如果您的项目是C/C++或ObjvEEC,则原因是MaFILE文件(Project file)在分支上稍微修改, ccache