Py学习  »  Git

具有双版本控制的git超级存储库

user313032 • 3 年前 • 1405 次点击  

在我的linux系统上,我想在我的 ~/Documents/ 目录,以及 cron 每天更新存储库的作业,自动添加和更新符合适当模式的文本文件。

问题是,该目录包含子目录,这些子目录已经包含了它们自己的git存储库,我希望全局git存储库忽略它们(子repo,而不是子目录),并再次对子目录中的所有文件进行版本设置。

git可以进行这样的设置吗?

我看到过与嵌套存储库相关的git“子模块”,但我认为这不是我想要的,因为我不想在子目录中集成存储库,而是忽略它们。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128777
 
1405 次点击  
文章 [ 2 ]  |  最新文章 3 年前
Matt
Reply   •   1 楼
Matt    3 年前

所以基本上答案是否定的。除了作为子模块,嵌套存储库不受支持。如果我们有这样的层次结构:

myFolder
.git
    myInnerFolder
    .git

...那么如果 myInnerFolder 对用户可见 .git 属于 myFolder 总之,它被视为一个子模块。你的选择是要么忽略 myInnerFolder 因此,更高级别的Git甚至不会查看它的内部,或者接受另一个回购协议的工作树中的一个回购协议是一个子模块的事实。

VonC
Reply   •   2 楼
VonC    3 年前

我不想忽略文件夹,我想忽略它们已经包含git存储库的事实,然后重新对它们进行版本设置。

作为一个实际的解决方法,我会(在cron计划的每日脚本中)

  • 查找并重命名任何 .git/ 将存储库嵌套到 .git.ori ,
  • 确保 ~/Documents/.gitignore 包括 吉特先生。奥里 ,
  • 添加来自 ~/Documents :这将包括所有嵌套的Git存储库内容,因为它们不再被识别为Git存储库,
  • 恢复所有 吉特先生。奥里 在里面 吉特先生/