首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有效地将git签出与make/ninja类工具结合使用

有效地将git签出与make/ninja类工具结合使用
EN

Stack Overflow用户
提问于 2017-01-25 21:28:08
回答 2查看 205关注 0票数 0

当我使用git-repos(在C/C++中)时,我会定期切换分支,有时会想要构建一个特定的分支或标记(使用make)。当我切换回当前主要关注的分支时,运行make将导致非常长的构建时间。有没有办法配置git,或者使用一些git-checkout特定参数来恢复构建系统(例如make)所关心的存储库的状态?构建系统忍者在这方面做得更好吗?

如果没有办法做到这一点,为什么呢?如果有办法做到这一点,为什么不默认实现呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-25 21:33:03

主要的问题是为什么你的构建工具需要这么长的时间。如果是因为分支之间不同的文件需要重新构建,那么构建工具或Git应该如何防止这种情况?如果这是您的问题,您可以使用git worktree为不同的分支添加多个工作树。

票数 1
EN

Stack Overflow用户

发布于 2017-01-25 21:36:15

我不完全确定您所说的“就构建系统而言,存储库的状态”是什么意思;我假设您所说的是您更改到另一个分支,然后没有构建切换回来-但是这样做会改变源文件上的时间戳,因此make认为它必须重新构建所有内容……

最简单的解决方案是使用两个工作树-一个放在你的“通常聚焦的分支”上,另一个用来浏览其他分支。这可以通过克隆存储库两次或使用git worktree命令来完成。

我不知道git有什么方法可以将源时间戳设置为您切换分支之前的状态。为什么不行?因为在不引起问题的情况下,以一种通常有用的方式实现它可能是不可能的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41852845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档