相关疑难解决方法(0)

.gitmodule中没有为非子模块的路径找到子模块映射

我有一个子模块的项目 lib/three20

我的.gitmodule文件看起来像这样:

[submodule "lib/three20"]
    path = lib/three20
    url = git://github.com/facebook/three20.git
Run Code Online (Sandbox Code Playgroud)

我过去克隆过这个没有错误,(git submodule init接下来是a git submodule update)并且它已经工作了一段时间.

我试图将其克隆到一台新机器,现在我收到此错误git submodule init:

No submodule mapping found in .gitmodules for path 'Classes/Support/Three20'
Run Code Online (Sandbox Code Playgroud)

该路径只是Xcode中的一个空文件夹,用于存放其他目录中的项目.它不是.gitmodules文件的一部分,所以我看不到它从哪里获得这条路径.

有任何想法吗?

git git-submodules

311
推荐指数
9
解决办法
23万
查看次数

没有遥控器的嵌套git存储库(也就是没有遥控器的git子模块)

我有一个项目,我有兴趣将部分分解为开源.我已经在"main/one","main/two","main/three"中设置了一个"main"git存储库(例如,在"main"目录中)和子存储库.我认为通过进入"主要"并做

git add one
git add two
git add three
Run Code Online (Sandbox Code Playgroud)

(注意缺少尾部斜杠),我会设置子模块和子存储库,并且很好.

但是,正如Git中所述 - 如何跟踪未跟踪的内容?,这只会创建gitlinks而不是真正的子模块.

不幸的是,这个答案没有用,因为它假定在其他地方有"主要/一个","主要/两个"和"主要/三个" 的"主"存储库.我希望这些子仓库成为主存储库.我正在考虑假子模块(根据Git假子模块),但这对于克隆来说并不是特别理想的情况.

还有其他建议吗?

git git-submodules

30
推荐指数
2
解决办法
2万
查看次数

更改git子模块,并保留更改

我已经将我的一个库的git子模块克隆到我正在进行的项目中.问题是,在克隆之后,我需要更改克隆子模块中的一些行,但我不想将这些更改推送到原始存储库中.

我希望这些更改留在超级项目中.这可能吗?我怎样才能做到这一点?

编辑:正如@GoZoner所说,基本上是:

  1. git clone foo;
  2. cd foo;
  3. git submodule init;
  4. git子模块更新;
  5. cd path/to/submodule;
  6. git checkout master;
  7. 更改子模块
  8. git commit -am"Something";
  9. git push origin(超级项目);

然后,当我在另一台计算机中克隆超级项目时(直到第4步),我希望在超级项目中保存这些更改.

git git-submodules

27
推荐指数
1
解决办法
7406
查看次数

为什么我不能在GitHub中打开我的文件夹?

我的某个存储库中的"src"文件夹显示为灰色(并且不可单击):

截图

在推送到GitHub之前我采取了以下步骤:

  1. 我在GitHub上创建了一个新的存储库.
  2. 我在我的项目中初始化了git.
  3. git add .
  4. git commit -m "comment"
  5. git remote add origin url
  6. git push -u origin master
  7. 用户名
  8. 密码

"src"文件夹显示在GitHub上,但无法打开.我能做什么?

git github

26
推荐指数
5
解决办法
2万
查看次数

在子目录位于主仓库和子模块中的分支之间切换

我们已经将一个子目录S变成了一个单独的仓库,并将其重新添加为分支B中的子模块.现在,当我想切换回原始分支A时,子目录被检入原始仓库,git抱怨来自子模块的东西是未跟踪的,必须先将其移走.我们可以切换回A,而无需手动拖动S并将它移回B中吗?

更新:下面的评论表明它可能是旧分支的缺陷,并且git不愿意在这里做一件聪明的事情.是这样的,在主回购中使用S的原始分支有什么样的变基(如果有的话)可以让它在任何时候与子模块化版本共存并且可以结账吗?

git git-submodules

12
推荐指数
1
解决办法
9189
查看次数

如何修复git中的"修改内容,未跟踪内容"?

目标是提交一个git分支.分支的"git status"输出为:

On branch zeromq_new
Your branch is up to date with 'origin/zeromq'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)

      modified:   log4cplus (modified content, untracked content)
      modified:   ../lib/notification/cppzmq (modified content)
Run Code Online (Sandbox Code Playgroud)

目录结构如下所示:

HySecureGateway
???fes
?   ???log4cplus
?       ???.git
?       ???.gitattributes
?       ???.gitignore
?       ???.gitmodules
?       ???catch
?       ?   ???.git
?       ?   ???.gitattributes …
Run Code Online (Sandbox Code Playgroud)

git git-submodules

11
推荐指数
4
解决办法
2万
查看次数

详细显示git add

我有一个文件,在显示出来git status"Changed but not updated"名单为(modified content, untracked content),并且其状态,当我做不改变git add就可以了.

我想知道是否有一个命令会给我更多的诊断信息.该-v选项没有任何意义.

git debugging add

5
推荐指数
1
解决办法
923
查看次数

无法将文件夹添加到 git 存储库

我认为这个问题已经在这个问题下讨论过:

递归地将整个文件夹添加到存储库

但是我仍然无法将一些文件夹添加到 git 存储库,我需要帮助。

$ git status
...
# modified:   folder_to_add1 (modified content, untracked content)
# modified:   folder_to_add2 (modified content, untracked content)
Run Code Online (Sandbox Code Playgroud)

这些文件夹原本属于另一个git存储库,所以我进入这些文件夹并删除了里面的.git文件夹。

然后我跑了:

$ git add folder_to_add1
$ git add folder_to_add2
$ git status 
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules) …
Run Code Online (Sandbox Code Playgroud)

git git-add

0
推荐指数
1
解决办法
5467
查看次数

标签 统计

git ×8

git-submodules ×5

add ×1

debugging ×1

git-add ×1

github ×1