2011-12-31 72 views
0

我在跟着一些(相互脫節的)在線教程來使用Git子模塊,因爲這是我第一次。沒有名稱和其他問題的Git子模塊

git submodule總是吐出的爲沒有直接明顯的原因無關路徑(大概PATH ENV?)一個長長的清單,但有一個更糟糕的問題:

[email protected] /F/_secret/Kushura (master) 
$ git submodule sync 
No submodule mapping found in .gitmodules for path 'D:\Programs\Git/libexec/git-core;D:\Programs\Git\libexec\git-core; <long list of directories omitted...>' 
Synchronizing submodule url for '' 
Synchronizing submodule url for 'hump' 
$ 

我想不通爲什麼它是報告沒有名字,因爲這兩個.gitmodules有它正確地命名爲:

$ cat .gitmodules 
[submodule "HardonCollider"] 
     path = HardonCollider 
     url = git://github.com/vrld/HardonCollider 
[submodule "hump"] 
     path = hump 
     url = git://github.com/vrld/hump 

與此同時,.git/config有一個幽靈子模塊,將不會消失,重新出現和任何時候我嘗試git submodule sync(即使取出後):發生

[submodule "HardonCollider"] 
     url = git://github.com/vrld/HardonCollider 
[submodule "hump"] 
     url = git://github.com/vrld/hump 
[submodule ""] 
    url = 

的一個問題是,HardonCollider模塊沒有連接在GitHub上正確,而hump模塊連接到適當的回購和承諾。我無法弄清楚爲什麼會發生這種情況。

除了剛剛購買回購和再次嘗試,我不知道接下來要嘗試什麼。

+0

告訴我,你的意思'HadronCollider'而不是你輸入的內容! – Johnsyweb 2011-12-31 08:39:16

+0

不,很多LÖVE的模塊都是...創造性地命名的。像LUBE(網絡),肛門(動畫),呃...我真的不需要繼續。 – Xkeeper 2011-12-31 08:41:13

+0

那麼[你去](http://love2d.org/wiki/Category:Libraries)!每天都是學生! – Johnsyweb 2011-12-31 08:43:28

回答

0

摸索着試圖完成任何事情後,沒有任何工作,除了完全複製回購和再次嘗試。

  • 編輯.git/config刪除URL:沒有工作。
  • 編輯.gitmodules:沒有工作。
  • 編輯模塊 /.git/config:沒有工作。
  • 一次完成所有上述操作:沒有工作。
  • 嘗試重新添加子模塊:沒有工作。

最後我不得不從一開始就重新啓動我的repo並重新添加子模塊,現在它可以正常工作。

我仍然有回購的原始副本,所以如果你可以建議更好的答案,我會接受,而不是。

0

子模塊功能是腳本化的,而不是用C編碼的。它們位於(相同的)git-submodulegit-submodule.sh文件中。代碼包括許多交叉檢查,事實就是他們認爲的東西,如果不喜歡,就退出。

您可以從代碼中獲得一些靈感,並將其與失敗的回購的內容進行比較。我沒有得到的代碼檢查的底部(我讀它因其他原因)

在Msysgit,源是在C:\msysgit178\git\git-submodule(這是我的V1.7.8副本)

On Github here

0

這已經咬了我兩次,我已經能夠修復它一次。步驟我把:

  1. 所做的所有自去年clonesubmodule update --init
  2. 我會添加或更新的子模塊的列表在逐個卸下,採用三步法在這裏找到:http://chrisjean.com/2009/04/20/git-submodules-adding-using-removing-and-updating/
  3. 後每個去除,COMMITED,然後
  4. 克隆了一個項目,看看誤差保持。

最後我發現了一個子模塊,其中有文件的工作目錄,在git的文件夾中被引用,但是不是在.gitsubmodules文件。我把它移到了任何地方,事情恢復了正常。

額外注:我使用msysgit,並得到那個巨大的路徑列表,但是當我克隆我的遠程測試服務器(Linux機器上共享主機)就可以了更爲有用的錯誤。不記得確切,但它是像no submodule mapping found in [the exact name of the submodule I was looking for]