Saya mencoba menambahkan beberapa submodul ke .vim/bundles
direktori saya , dan ketika saya mencoba menambahkan repo khusus ini, Git memberi saya kesalahan aneh yang belum pernah saya lihat sebelumnya:
$ 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'
Tahu apa yang bisa menyebabkan ini?
Jika saya mengkloning repo yang sama ke direktori uji (bukan melalui perintah submodule), itu berfungsi dengan baik, dan membuat file yang diharapkan.
git
git-submodules
matt b
sumber
sumber
.vim/bundle/vim-scala
jalur yang akan dihapus adalah.git/modules/.vim/bundle/vim-scala
dir /AH
.git/modules/path/to/submodule
direktori itu dan mencoba untuk menambahkan kembali submodule, saya menerima kesalahan Jalur berikut ini diabaikan oleh salah satu file .gitignore Anda: path / to / submodule .Anda perlu menambahkan submodule di dalam repo yang sudah ada, repo tersebut harus dalam keadaan untuk menambahkan & mengkomit tautan submodul, dan repo submodul itu sendiri harus memiliki komit untuk diperiksa.
Sekarang, repo submodul itu sendiri harus baik-baik saja jika Anda dapat membuat klon biasa di tempat lain. Namun, sepertinya ada
submodule add
keluhan jika repo kosong sedangkan clone tidak. Orang ini menyarankan ini diperbaiki dengan hanya menjalankansubmodule add
perintah yang sama lagi.Jika repo batin tidak kosong, periksa repo Anda ingin mengandung submodule tersebut. Ubah ke direktori yang sama tempat Anda menjalankan
git submodule add
, dan menjalankangit status
, dangit branch
untuk memverifikasi bahwa repo berisi Anda memiliki setidaknya satu cabang yang dibuat dan tidak dalam keadaan aneh.sumber
master
cabang. Repo yang saya coba tambahkan ini sebagai submodul ada dimaster
cabang, tidak memiliki masalah yang jelas (status mengembalikan beberapa file yang dimodifikasi, tapi itu saja), dan yang paling aneh dari semuanya adalah saya dapat menambahkan submodul lain dengan baik ke repositori ini .fatal
peringatan dari OP saya, git meninggalkan dir kosong di.vim/bundle/vim-scala
. Saya juga memperhatikan bahwa meskipun.gitmodules
tidak tersentuh, itu menambahkan beberapa baris yang merujuk ke repo github.com ini.git/config
, tetapi setelah menghapusnya, saya masih mendapatkanfatal
pesan kesalahan yang sama .This guy suggests this is fixable by just running the same submodule add command again.
. Saya telah berjuang melawan masalah ini mencoba menemukan jawaban yang masuk akal dan ini akhirnya memperbaikinya. Ini untuk git 1.8.0 di bawah MSYS saat membuat submodule dari BitBucket, jadi jika Anda berada dalam situasi yang sama, coba ini terlebih dahulu.Kesalahan ini dapat terjadi jika Anda menambahkan submodul yang tidak memiliki
master
cabang. Jika Anda ingin menggunakan cabang lain saat menambahkan submodule (develop
misalnya), Anda dapat menggunakan perintah berikut:sumber
git submodule add -b master <repo.git> <folder>
membantumaster
solusi Anda berhasil untuk saya.Seperti yang disinggung oleh @ drew-noakes, hal ini dapat terjadi karena mencoba menambahkan submodule menggunakan nama direktori yang terdaftar di file .gitignore Anda .
sumber