相关疑难解决方法(0)

忽略子文件夹中的.git文件夹

是否可以将具有.git文件夹的子文件夹添加到repo,而不将Git视为子模块?我已经尝试了不同的方法来忽略.git文件夹,但是迄今为止没有任何方法可行.

我在/.gitignore尝试过:

/vendor/**/.git/
Run Code Online (Sandbox Code Playgroud)

..and in /vendor/.gitignore:

.git/
Run Code Online (Sandbox Code Playgroud)

我想忽略的.git文件夹位于/ vendor/foo/bar /中.

git

10
推荐指数
2
解决办法
1378
查看次数

我可以“取消初始化”一个 git 子模块吗?

我正在开发一个嵌入式项目,该项目将 Linux 源代码树作为子模块。我目前在非开发机器上工作,所以我永远不会使用这个存储库进行构建;仅供参考。

有一次我初始化了 linux 子模块(带来了大约 2.5GB 的数据),但现在我想反转这个过程,在这个存储库中保留未初始化的 linux 子模块。明确地说,就 Git 而言,我不想检查对子模块的任何更改;我只想要我的磁盘空间。

我怎样才能做到这一点?我可以删除./linux.git/modules/linux目录以摆脱所有不需要的数据,但我怀疑这会让 git 理所当然地感到困惑和烦恼。

git git-submodules

10
推荐指数
1
解决办法
3873
查看次数

用Git移动子模块

有没有办法移动超级项目中的子模块而不先删除它们并重新添加它们?

git move git-submodules

9
推荐指数
1
解决办法
4525
查看次数

添加/删除git子模块的麻烦

我正在尝试将git子模块添加到我的项目中,特别是ShareKit.我的项目是一个git repo,当我尝试输入时

git submodule add git://github.com/ShareKit/ShareKit.git Submodules/ShareKit
Run Code Online (Sandbox Code Playgroud)

进入终端我得到一个错误,说子模块已经存在.我想我刚刚在这个项目中添加了它,并最终没有使用它并且不正确地从项目目录中删除它(最有可能删除子模块文件夹).所以我尝试着做

git rm --cached Submodules/ShareKit
Run Code Online (Sandbox Code Playgroud)

根据如何删除子模块?,现在当我尝试使用第一段代码再次添加子模块时,我得到了这个:

A git directory for 'Submodules/ShareKit' is found locally with remote(s):
origin  git://github.com/ShareKit/ShareKit.git
If you want to reuse this local git directory instead of cloning again from
git://github.com/ShareKit/ShareKit.git
use the '--force' option. If the local git directory is not the correct repo
or you are unsure what this means choose another name with the '--name' option.
Run Code Online (Sandbox Code Playgroud)

而且我不确定该怎么做.我对git很新,我需要在我的项目中得到这个 - 有没有办法只是擦除项目中的所有git并从头开始?我只是用一个新项目做到这一点,但除此之外它已经非常完整,从头开始并将所有内容复制完毕将非常耗时.我让ShareKit在测试应用程序中工作,安装正确,有什么理由我不能将该文件夹中的所有ShareKit文件复制到我需要的文件夹中吗?

编辑:我试过了

git submodule deinit Submodules/ShareKit
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误:

error: …
Run Code Online (Sandbox Code Playgroud)

git git-submodules

9
推荐指数
2
解决办法
6787
查看次数

我可以在Git子模块中取消填充吗?

一旦我跑了

git update submodule
Run Code Online (Sandbox Code Playgroud)

我可以做任何事情让它恢复到初始化和更新之前的状态吗?

git git-submodules

8
推荐指数
1
解决办法
2304
查看次数

Git子模块密码提示

我正在尝试设置一个git deploy设置,其中我准备好在登台服务器上的git仓库时推送我的更改,然后使用post-recieve hook将各个分支的代码部署到适当的web根目录.

然而,我遇到的一个问题是每次运行时: git submodule update

我收到密码提示,导致部署脚本冻结.

到目前为止,我尝试过的事情是:

  1. 子模块托管在公共仓库上,因为我只是试图从中读取,我不明白它为什么需要密码.
  2. 也就是说,为了尝试解决这个问题,我为登台服务器创建了新的ssh密钥,当在这个案例之外运行时,能够克服/获取正常而没有任何问题.
  3. 我还检查了.gitmodules和.git/config文件,以确保从正确的位置拉出子模块.
  4. 当运行git子模块更新时,当出现密码提示只是将密码留空并按Enter似乎更新的东西就好了,但是我得到提示的事实是搞乱了我的钩子脚本.

需要注意的一件事是在我的登台服务器上设置repo时,由于防火墙的限制,我无法从我的工作实例中克隆repo,因此我在本地克隆了一个副本,然后将新克隆的版本移动到服务器,我已经能够很好地推动它.

寻找我能得到的任何建议或提示.

git deployment ubuntu

8
推荐指数
2
解决办法
4863
查看次数

从存储库中删除所有Git缓存子模块

我们的团队不再使用子模块很长一段时间了,我们想通过删除所有缓存的子模块来释放一些存储库空间.

我们只需要删除以下内容吗?

rm -rf .git/modules
Run Code Online (Sandbox Code Playgroud)

或者有更推荐的方法吗?此外,如果可能,我们希望将删除推送到服务器.

注意:使用git 2.5.4和当前状态将所有内容合并到一个分支中.

注意:我们不记得旧提交中使用的子模块的个别名称.

git git-submodules

8
推荐指数
2
解决办法
9879
查看次数

如何从没有子模块的分支中签出带有子模块的分支

我的本地计算机上有三个分支:

  • 掌握
  • 带有子模块的功能分支
  • 无子模块的功能分支

没有子模块的分支曾经有一个子模块,我按照此 SO post中的说明删除了该子模块。我不想从master和中删除子模块feature-branch-with-submodule

然而,现在我已经完成了feature-branch-without-submodule,我想切换到feature-branch-with-submodule。所以我执行git checkout,但收到错误:

fatal: not a git repository: src/vendor/mysubmodule/../../../../../.git/modules/src/vendor/mysubmodule
Run Code Online (Sandbox Code Playgroud)

如何修复它,以便带有子模块的分支有它,而没有子模块的分支没有,并且我可以使用 git checkout 自由地来回切换?

git git-submodules

8
推荐指数
1
解决办法
3263
查看次数

将 git 子模块合并到主存储库中

好的,我们有一个包含 3 个子模块的存储库。现在我们想将此子模块合并回主存储库,保留所有历史记录(好吧,使用子模块比有用更令人头疼)。我们该如何进行?

git git-submodules

7
推荐指数
1
解决办法
3985
查看次数

GitLab - 损坏提交后的奇怪图标和条目

我试图在我的 repo 中找到以下 gitlab 条目的描述(在文件视图中):

gitlab 截图

我相信此文件已损坏,因为我在树中“嵌套”了 git 存储库,或者更好,不止一个 .git 文件(如果这有意义的话)。

但老实说,我什至不知道该用谷歌搜索什么 :P 然后我快速浏览了 stackoverflow 上的回复,但我也没有看到。有人可以告诉我在哪里可以找到这些描述或告诉我这意味着什么吗?我不确定删除它是否会导致 repo 的其余部分损坏或其他一些连锁反应。GitLab 版本是 6.2.4。

提前致谢,

迈克尔

icons gitlab

7
推荐指数
1
解决办法
3832
查看次数

标签 统计

git ×9

git-submodules ×7

deployment ×1

gitlab ×1

icons ×1

move ×1

ubuntu ×1