我试图在我的.vim/bundles
目录中添加一些子模块,当我尝试添加这个特殊的repo时,Git给了我一个我以前从未见过的奇怪错误:
$ git submodule add -f git://github.com/derekwyatt/vim-scala.git .vim/bundle/vim-scala
fatal: You are on a branch yet to be born
Unable to checkout submodule '.vim/bundle/vim-scala'
知道是什么原因引起的吗?
如果我将相同的repo克隆到测试目录(而不是通过子模块命令),它可以正常工作,并创建预期的文件。
答案 0 :(得分:203)
要修复该错误,您应该删除与.git/modules/
目录中的子模块具有相同路径的文件夹。当第一次添加子模块的url对于子模块不正确时,可能会发生此错误。
答案 1 :(得分:12)
您需要在现有仓库中添加子模块 ,该仓库需要处于添加&状态的状态。提交子模块链接,和子模块repo本身必须提交签出。
现在,如果您可以在其他地方创建常规克隆,则子模块repo本身必须正常。但是,如果repo为空,而克隆没有,则看起来submodule add
会抱怨。 This guy建议只需再次运行相同的submodule add
命令即可解决此问题。
如果内部仓库不为空,请检查您要包含子模块的仓库。切换到您运行git submodule add
的同一目录,然后运行git status
和git branch
以验证您的包含repo是否至少创建了一个分支并且不处于奇怪状态。< / p>
答案 2 :(得分:11)
如果要添加的子模块没有- (void)textFieldDidEndEditing:(UITextField *)textField
{
// Start showing UIActivityIndicator
// implement block base web service call to check your user id availability. I will recommended NSURLConnection wrapper base block - http://stackoverflow.com/questions/14914480/nsurlconnection-with-blocks
// on results stop activity and show your desire image icon
}
分支,则会发生此错误。如果要在添加子模块(例如master
)时使用其他分支,可以使用以下命令:
develop
答案 3 :(得分:0)
正如@ drew-noakes所提到的,这可能是因为尝试使用 .gitignore 文件中列出的目录名添加子模块。