【发布时间】:2011-02-21 01:17:49
【问题描述】:
我正在构建一个框架,以使一些常用功能(数据库连接)更容易,并希望在另一个项目中使用它。我总是可以复制和粘贴它,但我正在研究它并不断扩展它。每当我在我的 Git 存储库中进行提交时,让它复制更新后的自我会容易得多。
我可以使用 Git 自动更新我其他项目中的框架,还是必须找到其他解决方案?
【问题讨论】:
标签: git version-control
我正在构建一个框架,以使一些常用功能(数据库连接)更容易,并希望在另一个项目中使用它。我总是可以复制和粘贴它,但我正在研究它并不断扩展它。每当我在我的 Git 存储库中进行提交时,让它复制更新后的自我会容易得多。
我可以使用 Git 自动更新我其他项目中的框架,还是必须找到其他解决方案?
【问题讨论】:
标签: git version-control
使用 git 子树或 git 子模块。
上次我检查过,子模块有一些重大问题(但我听说它们在最近的版本中有所改进)。详情见这里:Git submodules workflow
简而言之:
子树是常规的 Git 分支,通过特殊的合并策略合并,将所有文件放入主机存储库工作副本的子目录中。除了合并策略(仅在创建合并提交时才重要),Git“子树”是一个完全正常的 Git 分支。
优点:
-s subtree 命令行选项(完整工作流程请参见here)。只有在拉取子树时才需要记住子树。缺点:
子模块是主机存储库中的 Git 存储库。
优点:
缺点:
免责声明:我对子模块有偏见。亲自尝试看看,哪种方法更适合您的工作流程。
【讨论】:
git 子模块。
在不同的地方更新会有一些问题,但应该可以解决。
【讨论】: