如何在 git 中跟踪外部代码

如何在 git 中跟踪外部代码

我正在开展一个项目,其中一些代码是项目原创的,一些代码是从外部源修改而来的(其中一些使用像 p4 这样的 VCS),一些代码是从外部源镜像而来的。

如何才能跟踪外部代码源的变化,同时保持代码完整?

我可以为每个外部源创建一个单独的分支,并且每当他们更新它时,就将他们的更改签入该分支,然后将其三向合并到主线中吗?

答案1

每个外部源是否需要合并到主项目中,或者是否可以将它们干净地分开为库/模块/插件?

子模块

如果它们是你想在 git 中修改和跟踪的库,你可以使用子模块。这使您可以将一个项目保留在另一个项目中,并且在进行任何您自己的更改时可以轻松地从该项目源进行更新。

重新定基

如果将它们合并到主项目中更有意义,请查看重新定基。合并后,您的提交历史会开始看起来非常混乱,特别是当您从多个来源提取数据时。

通过变基,你基本上是将一组提交粘贴在另一组提交之后,使得所有内容都像一个接一个地线性编码一样。

这是一篇文章我发现在学习时真的很有帮助git rebase

相关内容