草庐IT

git - 提取 git 子目录,同时通过重命名保留历史记录

我将一个大的源代码树分成两个独立的组件和一个共享的子模块。为了准备这次拆分,我首先将共享的东西移到一个“公共(public)”目录中,更新了所有引用,并进行了提交。到目前为止,一切都很好。现在我想将该目录提取到一个子模块中。通常我会这样做gitfilter-branch--subdirectory-filter但在这种情况下,所有有趣的历史都发生在该子目录之外,因此历史丢失了。我知道保留完整的历史记录没有意义,因为那样根本不会过滤掉任何数据。但我并不是真的想要回到过去并进行构建的能力,我只是希望能够查看每个文件所属的提交。有没有办法在保留单个文件的历史记录的同时保留过滤器分支行为?

git - 提取 git 子目录,同时通过重命名保留历史记录

我将一个大的源代码树分成两个独立的组件和一个共享的子模块。为了准备这次拆分,我首先将共享的东西移到一个“公共(public)”目录中,更新了所有引用,并进行了提交。到目前为止,一切都很好。现在我想将该目录提取到一个子模块中。通常我会这样做gitfilter-branch--subdirectory-filter但在这种情况下,所有有趣的历史都发生在该子目录之外,因此历史丢失了。我知道保留完整的历史记录没有意义,因为那样根本不会过滤掉任何数据。但我并不是真的想要回到过去并进行构建的能力,我只是希望能够查看每个文件所属的提交。有没有办法在保留单个文件的历史记录的同时保留过滤器分支行为?

git - 如何正确管理子目录中被父目录忽略的 git repo 作为自己的项目?

我希望使用Vagrant用于laravel的开发项目.为了促进这项工作,我正在使用这个github项目,Laravel4-Vagrant.vagrant配置作为git存储库进行管理。Vagrant设置的一部分有一个预先定义的www目录,一旦服务器设置好,该目录就会映射到/var/www,这样你就可以在guestvm中使用文件直接从主机虚拟机。但是,在thiswww内目录有一个.gitignore文件。这很有意义,因为您想管理您的vagrant设置并从头开始开发您的应用程序等。但是,您开始进行应用程序开发,并且您的项目位于此www目录中。最好也用git管理这个项目,然后你可以将你的应用程

git - 如何正确管理子目录中被父目录忽略的 git repo 作为自己的项目?

我希望使用Vagrant用于laravel的开发项目.为了促进这项工作,我正在使用这个github项目,Laravel4-Vagrant.vagrant配置作为git存储库进行管理。Vagrant设置的一部分有一个预先定义的www目录,一旦服务器设置好,该目录就会映射到/var/www,这样你就可以在guestvm中使用文件直接从主机虚拟机。但是,在thiswww内目录有一个.gitignore文件。这很有意义,因为您想管理您的vagrant设置并从头开始开发您的应用程序等。但是,您开始进行应用程序开发,并且您的项目位于此www目录中。最好也用git管理这个项目,然后你可以将你的应用程

git - 在子目录位于主 repo 与子模块化的分支之间切换

我们已经将子目录S放入单独的repo中,并将其作为子模块重新添加到分支B中。现在,当我想切换回原始分支A时,子目录已被checkin原始repo,git提示子模块中的内容未被跟踪,必须先移走。我们是否可以完全切换回A而无需手动将S拖走然后他们将其移回B?更新:下面的评论表明它可能是旧分支的缺陷,git不愿意在这里做一件聪明的事情。是这样吗?如果有的话,对主仓库中带有S的原始分支进行什么样的rebase可以让它与子模块化版本共存并随时可以checkout? 最佳答案 您的历史看起来像这样:---XA\YBgitls-treeA显示(例

git - 在子目录位于主 repo 与子模块化的分支之间切换

我们已经将子目录S放入单独的repo中,并将其作为子模块重新添加到分支B中。现在,当我想切换回原始分支A时,子目录已被checkin原始repo,git提示子模块中的内容未被跟踪,必须先移走。我们是否可以完全切换回A而无需手动将S拖走然后他们将其移回B?更新:下面的评论表明它可能是旧分支的缺陷,git不愿意在这里做一件聪明的事情。是这样吗?如果有的话,对主仓库中带有S的原始分支进行什么样的rebase可以让它与子模块化版本共存并随时可以checkout? 最佳答案 您的历史看起来像这样:---XA\YBgitls-treeA显示(例

git - 如何将 Git 子模块移动到子目录?

伙计们,我刚刚使用子模块来组织一些Git仓库,这是地址:repos我想将所有子模块移动到一个名为repos的新目录中,例如jquery->repos/jquery。我更改了.gitmodules文件,但它似乎不起作用。我该怎么办? 最佳答案 从git1.8.5开始,gitmvold/submodnew/submod按预期工作并为您完成所有管道工作。您可能需要使用git1.9.3或更新版本,因为它包含子模块移动的修复。致谢:来自下方评论的MikeLowerey原始答案刚才遇到了同样的问题,最终删除了子模块引用(如概述inthisart

git - 如何将 Git 子模块移动到子目录?

伙计们,我刚刚使用子模块来组织一些Git仓库,这是地址:repos我想将所有子模块移动到一个名为repos的新目录中,例如jquery->repos/jquery。我更改了.gitmodules文件,但它似乎不起作用。我该怎么办? 最佳答案 从git1.8.5开始,gitmvold/submodnew/submod按预期工作并为您完成所有管道工作。您可能需要使用git1.9.3或更新版本,因为它包含子模块移动的修复。致谢:来自下方评论的MikeLowerey原始答案刚才遇到了同样的问题,最终删除了子模块引用(如概述inthisart

具有现有目录结构的 Git 子目录过滤器

我正在使用filter-branch的--subdirectory-filter选项拆分一个Git存储库,它工作得很好,除了它将所有内容都pull到存储库的根目录之外。我现在有ABC-DEF-GHI-JKL-MNO这个命令的结果:gitfilter-branch-f--subdirectory-filterABC/DEF--prune-empty----all生成这个:GHIJKL我真正想要的是:ABC-DEF-GHI-JKL我在Git文档中看不到任何显示保留(或设置)目录结构的过滤器选项的内容,而且我找不到可以在之后运行的命令过滤以将结构重新映射到我想要的方式。这可能吗?

具有现有目录结构的 Git 子目录过滤器

我正在使用filter-branch的--subdirectory-filter选项拆分一个Git存储库,它工作得很好,除了它将所有内容都pull到存储库的根目录之外。我现在有ABC-DEF-GHI-JKL-MNO这个命令的结果:gitfilter-branch-f--subdirectory-filterABC/DEF--prune-empty----all生成这个:GHIJKL我真正想要的是:ABC-DEF-GHI-JKL我在Git文档中看不到任何显示保留(或设置)目录结构的过滤器选项的内容,而且我找不到可以在之后运行的命令过滤以将结构重新映射到我想要的方式。这可能吗?