• 项目上传git过程中,在git add步骤有几个文件怎么也执行不成功(子模组问题)


    删除 git submodule (git 库子模组)

    有两种情况会创建 git submodule (git 子模组)
    • 显性方式添加:使用 git submodule 命令将其他git库作为子目录添加,即子模组
    • 隐性方式添加:使用 git add 添加,如果某个子目录本身是一个 git 库,就自动添加为子模组,不再递归添加该目录下面的文件
    那么这两种方式添加的子模组有什么不同?子模组有什么副作用?如何删除模组呢?

    两种方式添加模组,效果略有不同

    • 隐性方式添加,看似直接将目录加入版本库,而实际上是加入一个和目录名同名的 submodule 条目;
    • 显性方式添加,除了像隐性方式在 index/commit 中创建submodule 条目外,还会创建一个 .gitmodules 文件,也会在 .git/config 中创建相应记录。具体参见 git submodule 命令。

    子模组的副作用

    有时,并未意识到目录按照模组方式添加。例如在用 gistore 备份文件和目录时,当某个目录本身用 git 做了版本控制,就会以子模组的方式添加目录。 如何将子模组按照正常的目录形式添加到版本控制系统呢?用下面的方法做不到:
    • 删除子模组的 .git 目录,即将子模组下的 git 版本库删除
    • 当执行 git add 时报错: fatal: Path '... ...' is in submodule '...'
    那么,该怎么办呢?

    如何删除子模组

    使用 git 命令即可删除子模组
    git rm --cached path/to/submodule
    
    对于显性定义的子模组,还要删除 .gitmodules 文件和 .git/config 文件中的相关条目。
  • 相关阅读:
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    C语言博客05--指针
    DS博客作业07--查找
    DS博客作业06--图
    DS博客作业05--树
    DS博客作业03--栈和队列
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实验
  • 原文地址:https://www.cnblogs.com/zst062102/p/13371937.html
Copyright © 2020-2023  润新知