Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跟踪通过“git子树”合并的外部git回购`_Git_Git Subtree - Fatal编程技术网

跟踪通过“git子树”合并的外部git回购`

跟踪通过“git子树”合并的外部git回购`,git,git-subtree,Git,Git Subtree,我正在尝试建立一个良好的模式,用于跨多个项目管理共享代码和外部依赖关系。由于其他地方有很好的记录,使用子模块有足够的陷阱,我倾向于远离它。从Git1.8开始,subtree命令是内置的,似乎涵盖了我所关心的很多内容,但仍有一些核心场景似乎缺失了。我希望有人在官方子树功能的基础上编写了一些脚本来填补空白 我想要的似乎缺少的是: 跟踪通过子树添加的内容,以及指定的分支 执行git子树拉全部和推全部 作为最后一步的一部分,可以指定是将子树锁定到特定提交还是分支中的最新提交 这些东西是内置在命令中的

我正在尝试建立一个良好的模式,用于跨多个项目管理共享代码和外部依赖关系。由于其他地方有很好的记录,使用子模块有足够的陷阱,我倾向于远离它。从Git1.8开始,subtree命令是内置的,似乎涵盖了我所关心的很多内容,但仍有一些核心场景似乎缺失了。我希望有人在官方子树功能的基础上编写了一些脚本来填补空白

我想要的似乎缺少的是:

  • 跟踪通过子树添加的内容,以及指定的分支
  • 执行
    git子树拉全部
    推全部
  • 作为最后一步的一部分,可以指定是将子树锁定到特定提交还是分支中的最新提交
这些东西是内置在命令中的吗?我只是在如何使用它们的过程中遗漏了一些东西? 我也有一个要求,这需要在Windows上工作,以防影响任何东西


谢谢,

不,这样的命令不存在。这样的命令也很难实现,因为git子树不会将子树的来源存储为元数据。如果你想要这样的功能,我强烈推荐子模块。不过,它们也需要您编写一些脚本来实现您想要的功能。

从官方源代码
git
1.8.1.5版编译的My没有
git子树
命令。可能它是一个附加组件或来自
contrib
位的东西,或者可能您已经有了一个发布候选(1.8.2-rc).
git--version
显示
git version 1.8.1.msysgit.1
。我昨天使用官方的Windows二进制文件从1.7升级到了一些东西。我最初是从github回购中查看它的,但它现在有一个文档:,评论它被集成到git中。不,它从未被集成到git中–它是git
contrib
文件夹的一部分–这并不意味着它是自动安装的。看这里:啊,我没有意识到区别的存在。谢谢你的澄清。嘿,乔-你一年多前问过这个问题。我正试图找出完全相同的事情。你最后决定做什么?我的主要问题是你的第一个子弹追踪子树来自哪里。谢谢使用分离的头部似乎容易出错,通常很容易陷入一种我们可能会丢失工作的状态,我认为应该避免使用子模块。我没有尝试过在任何大的场合使用它们,但是同事们有并且有强烈的负面意见。当在Google上搜索此场景的常规选项时,我发现推荐子模块的页面并不多。如果它真的更好,并且可以通过脚本使其安全,那么我很乐意尝试。此外,我也看到过类似的事情,它们开始朝着我正在寻找的使用子树的工作流方向发展。我希望有人能更进一步,把这个版本签入Git/contrib,而不是作为一个单独的分支。分离的头状态确实有点危险。但无论如何,在编写代码和提交之前,您应该检查您所在的分支。