【发布时间】:2013-03-01 20:20:38
【问题描述】:
我正在尝试建立一个良好的模式来管理跨多个项目的共享代码和外部依赖项。由于其他地方有详细记录的原因,使用子模块有很多陷阱,我倾向于远离它。从 git 1.8 开始,子树命令是内置的,似乎涵盖了我关心的很多内容,但仍然有一些核心场景似乎缺失。我希望有人在填补空白的官方子树功能之上编写了一些脚本。
我想要的似乎缺少的是:
- 跟踪通过子树添加的内容以及指定的分支
-
git subtree pull-all和push-all的能力 - 作为最后的一部分,能够指定子树是否应锁定到特定提交或分支中的最新提交。
这些东西是内置在命令中的吗?我只是在它们的使用方式上遗漏了一些东西? 我还要求这需要在 Windows 上运行,以防影响任何事情。
谢谢,
【问题讨论】:
-
我的编译自官方源代码
git1.8.1.5 版没有git subtree命令。也许它是一个附加组件或来自contrib位的东西,或者也许你有一个候选版本 (1.8.2-rc)... -
git --version显示git version 1.8.1.msysgit.1。我昨天使用官方 Windows 二进制文件从 1.7 升级。我最初是从 github 存储库中查看它的,但它目前有这个文档:github.com/apenwarr/git-subtree/blob/master/…,评论它被集成到 git 中。 -
不,它从未集成到 git 中——它是 git
contrib文件夹的一部分——这并不意味着它是自动安装的。见这里:github.com/git/git/tree/master/contrib/subtree -
啊,我没有意识到存在区别。感谢您的澄清。
-
嗨,乔 - 一年多以前你问过这个问题。我试图弄清楚完全相同的事情。你最终选择了什么?我的主要问题是您的第一个项目符号-跟踪子树的来源。谢谢!
标签: git git-subtree