2012-07-25 93 views
2

我将此添加到我的应用程序:初始化子模块使用Git

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

在说明中,它说:

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

它不说在哪里可以克隆它,所以我克隆它在我的文档夹。然后我将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的子模块初始化,但得到这个:

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

回答

0

注意AsyncSocket.mWebSocket.h,...是的github.com/erichocean/cocoa-websocket所有文件,这是:

所以,如果你在一个子子模块修改任何东西,你就必须:

  • 推那些修饰的到erichocean/cocoa-websocket,也
  • 犯该回购ID早在fpotter/socketio-cocoa(的cocoa-websocket母公司回购),并推了出来,然后
  • 提交新fpotter/socketio-cocoa回购ID早在fpotter/juggernaut-cocoa(其母公司回购),并推送这个...

所以要确保这是你真正想要做/可以做的事情(因为你需要有对这些回购的写入权限,即被宣布为合作者)。

关于您的错误消息,请检查No submodule mapping found in .gitmodule for a path that's not a submodule

+0

我不想修改任何东西。我只想将这些文件添加到我的存储库中 – JohnMerlino 2012-07-26 17:40:39

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