美文网首页我爱编程
Git嵌套仓库管理

Git嵌套仓库管理

作者: Luxin23 | 来源:发表于2018-06-26 13:04 被阅读247次

在开发中。有的时候我们可能在项目目录下用git从网络下引入了另外的git库。

如下图。我用vendor目录来存放我的golang依赖库时。因为golang.org 这个目录下的库在国内是很难通过正常方式获取到,经常在go get 的时候报错。所以我们通常都是同github上面手工clone 下来,然后拷贝到golang.org这个目录。

golang.org.png

当我使用git add 添加进来。会给我报错。

add.png
warning: adding embedded git repository: vendor/golang.org/x/crypto
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint:   git submodule add <url> vendor/golang.org/x/crypto
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint:   git rm --cached vendor/golang.org/x/crypto
hint:
hint: See "git help submodule" for more information.
warning: adding embedded git repository: vendor/golang.org/x/lint
warning: adding embedded git repository: vendor/golang.org/x/net
warning: adding embedded git repository: vendor/golang.org/x/sys
warning: adding embedded git repository: vendor/golang.org/x/text
warning: adding embedded git repository: vendor/golang.org/x/tools

意思就是我们项目下嵌套了其它库。这里提示我们要么使用submodule来管理这个嵌套的git库,要么把这个库删除。我只想简单的把这个依赖和项目一起提交而已。要不要这样子?

删文件的解决方案

进入到每个目录下,把.git 这个目录删了。这样就可以继续提交代码了。

rm -rf  vendor/golang.org/x/lint/.git
rm -rf  vendor/golang.org/x/net/.git 
rm -rf  vendor/golang.org/x/sys/.git 
rm -rf  vendor/golang.org/x/text/.git 
rm -rf  vendor/golang.org/x/tools/.git

彩蛋,look。我们又可以继续提交代码了,真开心,生活就该这么美好。

ojbk.png

submodule方式解决方案

还未研究,据说有点麻烦。

忽略文件解决方案

把这个目录写进.gitignore文件就好

相关文章

  • Git嵌套仓库管理

    在开发中。有的时候我们可能在项目目录下用git从网络下引入了另外的git库。 如下图。我用vendor目录来存放我...

  • git常用命令

    git config //配置详细 git init //初始化仓库 git remote //管理远程仓库 添加...

  • Git Note

    创建Git项目 创建仓库目录mkdir dir 初始化仓库git init Git文件管理 把文件加入仓库git ...

  • Git 分支管理规范

    Git 仓库申请流程 开发主管向 Git 管理员提交 Git 仓库申请【邮件:发送给 Git 管理员,抄送给项目经...

  • Git常用指令记录

    git init 这个目录变成Git可以管理的仓库 git status 查看当前仓库状态 git diff re...

  • git常用命令

    git init 把当前目录变成git可以管理的仓库 git clone <地址> 克隆远程仓库 git br...

  • git分支管理规范

    Git 仓库申请流程 1. 开发主管向Git 管理员提交Git 仓库申请【邮件:发送给Git 管理员,抄送给项目经...

  • GitHub超简单小白入门详细教程(11)——使用Git管理远程

    使用Git管理远程仓库 使用远程仓库的目的 作用:备份,实现代码共享集中化管理 Git克隆操作 目的:将远程仓库(...

  • Git学习笔记

    基础命令 git init 把目录变成Git可以管理的仓库。 git add 把文件添加到仓库。 git comm...

  • Git- 本文还在更新中

    仓库的创建 将目录变成Git可以管理的仓库git init 在当前仓库创建一个文件 将该文件添加到仓库中 git ...

网友评论

    本文标题:Git嵌套仓库管理

    本文链接:https://www.haomeiwen.com/subject/kmgpyftx.html