2

我将此添加到我的应用程序中:

https://github.com/fpotter/juggernaut-cocoa

在说明中,它说:

If you have git 1.7+ git clone git://github.com/fpotter/juggernaut-cocoa.git --recursive

它没有说明在哪里克隆它,所以我将它克隆到我的 Documents 文件夹中。然后我将 AsyncSocket.h、AsyncSocket.m、WebSocket.h、WebSocket.m、SocketIoClient.h、SocketIoClient.m、JuggernautClient.h、JuggernautClient.m 文件复制到我在供应商内部创建的名为 juggernaut-cocoa 的文件夹中的项目中.

然而,虽然这些文件在我的本地机器上工作,但当我推送到 github 时,它们永远不会被添加。我看到的只是一个绿色的小文件夹:

http://i47.tinypic.com/2ajnkzl.jpg

但是当我尝试从另一台计算机克隆我的存储库时,文件不存在,它们从未添加到 git。

然后我尝试将他们的项目克隆到我的 Vendor 文件夹中,然后运行 ​​git submodule init 但得到了这个:

No submodule mapping found in .gitmodules for path 'Vendor/juggernaut-cocoa'
4

2 回答 2

0

注意AsyncSocket.m, WebSocket.h, ... 都是github.com/erichocean/cocoa-websocket的文件,即:

因此,如果您修改子子模块中的任何内容,则必须:

  • 将那些修改推送到erichocean/cocoa-websocket,但也
  • 将该 repo id 提交回fpotter/socketio-cocoa(的父 repo cocoa-websocket),然后推送它,然后
  • fpotter/socketio-cocoa将新的repo id提交回fpotter/juggernaut-cocoa(其父 repo),然后推送...

因此,请确保这是您真正想做/可以做的(因为您需要对这些 repo 具有写访问权限,即被声明为协作者)。

关于您的错误消息,请检查No submodule mapping found in .gitmodule 以获取不是 submodule 的路径

于 2012-07-26T11:23:05.930 回答
0

如果您手动将文件从另一个项目复制到您的项目中,它们不会成为您的存储库的一部分,除非您添加它们:

git add vendor/juggernaut-cocoa/
git commit

如果您想改用子模块,则无法通过手动克隆然后调用“git submodule init”来添加它。相反,您只需调用git submodule add.

首先,cd到主项目的根目录。然后

git submodule add https://github.com/fpotter/juggernaut-cocoa vendor/juggernaut-cocoa
git commit
于 2013-08-13T15:22:19.800 回答