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

Makefile 问题:Make在Git中切换分支后重建整个项目,makefile,git-branch,Makefile,Git Branch,据推测,Git的最佳实践是在分支中进行实验,只有在看起来完美的时候才将这些工作合并到master中。但这大大减慢了我的开发周期,因为在Git中切换分支似乎会触及每个文件,甚至是那些没有改变的文件。结果是,make从头开始重建整个项目,而不仅仅是那些已更改的文件。根据我的经验,在切换分支时,Git不会更新未更改的文件。我敦促您通过查看切换分支之前和之后的修改时间来更仔细地检查这个假设,对于已经更改和没有更改的文件。如果确实是这样的情况,时间戳对于没有改变的文件是改变的,那么您可能需要找出Git的问

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

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

如果文件修改时间没有改变,但一切仍在重建中,那么makefile就有问题


如果您发现Git实际上只是在更新已更改文件的时间戳,但这些文件是您的系统的核心,并导致大规模重建,然后您可以考虑使用<代码> Git WorkTrase>代码>来保持不同的工作树中的不同分支,这样您就不必在同一目录结构之间来回切换。

< P>在我的经验中,Git不更新在切换分支时没有更改的文件。我敦促您通过查看切换分支之前和之后的修改时间来更仔细地检查这个假设,对于已经更改和没有更改的文件。如果确实是这样的情况,时间戳对于没有改变的文件是改变的,那么您可能需要找出Git的问题所在

如果文件修改时间没有改变,但一切仍在重建中,那么makefile就有问题


如果您发现Git实际上只是在更新已更改文件的时间戳,但这些文件是您的系统的核心,并导致大规模重建,然后,您可以考虑使用<代码> Git WorkTrase/Cuff>来保持不同的工作树中的不同分支,这样就不必在同一目录结构之间来回切换。

如果您的项目是C/C++或ObjvEC,则原因是MaFIX文件(Project file)在分支上稍微修改,会有很大帮助的。该工具会记住每个C文件的实际编译设置,并缓存生成的obj文件。重建项目时,即使修改了makefile,也可能会逐个文件跳过编译器。

如果您的项目使用C/C++或Objective,并且原因是makefile(项目文件)跨分支稍微修改,则会有很大帮助。该工具会记住每个C文件的实际编译设置,并缓存生成的obj文件。重建项目时,即使修改了makefile,也可能会逐个文件跳过编译器