gpt4 book ai didi

git - 是否有可能在另一个 git repo 中有一个 git repo

转载 作者:IT王子 更新时间:2023-10-29 00:58:04 24 4
gpt4 key购买 nike

我有一个用 git 管理的 django 项目。我正在 git 将它推送给我的主机。现在,我希望能够将其中一个目录(包括所有子目录)推送到另一个 git 仓库。如果可能的话,这怎么可能?

编辑:所以我希望该目录本身就是一个 git 仓库。

最佳答案

你可以看看 git 对 submodules 的支持.您可以将第二个存储库作为子模块添加到您的主项目中,例如使用如下命令:

git submodule add git://wherever/blah.git library-code
git commit -m "Added a new submodule called 'library-code'"

当您更改到 library-code 子目录时,就好像父存储库不存在一样 - 您可以更改 origin 以使用可以推送的传输over 然后 push ,就好像它是完全独立的。

要指定您希望子模块处于特定版本,您应该切换到子模块并使用 git checkout 切换到正确的版本。然后你回到主存储库和阶段并提交新的子模块版本:

git add library-code
git commit -m 'Change the submodule version'

主存储库的树只存储子模块应该在的版本,所以当你推送主存储库时,它不会推送子模块中的任何文件。

为了拆分这个子目录,同时保留历史,你需要克隆你的原始存储库和用户 git filter-branch 来重写历史,如这个答案中所述:

然后您可以将其推送到新创建的存储库 GitHub 存储库,返回到您的原始项目,删除子目录,并将其替换为上述子模块。

如果您不是很熟悉 git 概念,那么这对您来说可能会有些困难 - 我建议您事先阅读 git 子模块。

关于git - 是否有可能在另一个 git repo 中有一个 git repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7150424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com