Tidak, Anda tidak perlu menambahkan submodul Anda .gitignore: apa yang akan dilihat orang tua dari submodul Anda adalah gitlink ( entri khusus,mode 160000 ).
Artinya: setiap perubahan yang langsung dibuat di submodule harus diikuti dengan komit di direktori induk.
Dengan begitu, direktori induk akan merekam komit yang tepat untuk status submodule: Komit tersebut adalah "gitlink" yang disebutkan di atas;
Anda dapat membaca lebih lanjut tentang kebijakan itu di " git submodule update (sifat sebenarnya dari submodule) ".
Ide utama di balik submodul adalah pendekatan berbasis komponen , di mana Anda mereferensikan repo lain pada komit tertentu. Tetapi jika Anda mengubah apa pun di submodul tersebut, Anda juga perlu memperbarui referensi tersebut di repo induk.
Perhatikan bahwa dengan Git 2.13 (Q2 2017), meskipun tidak mengabaikan gitlink, Anda masih dapat mengabaikan submodul dengan:
git config submodule.<name>.active false
Lihat selengkapnya di " Abaikan komit baru untuk submodul git ".
Catatan: dengan Git 2.15.x / 2.16 (Q1 2018), mengabaikan submodul lebih tepat.
" git status --ignored --untracked" tidak berhenti di pohon kerja dari proyek terpisah yang disematkan dalam direktori yang diabaikan dan file yang terdaftar di proyek lain itu, alih-alih hanya menampilkan direktori itu sendiri sebagai diabaikan.
Lihat commit fadb482 (25 Okt 2017) oleh Johannes Schindelin ( dscho) .
(Digabung oleh Junio C Hamano - gitster- di commit da7996a , 06 Nov 2017)
status: jangan bingung dengan submodul di direktori yang dikecualikan
Kami dengan cermat meneruskan excludebendera ke treat_directory()fungsi tersebut sehingga kami dapat menunjukkan bahwa file di dalamnya dikecualikan daripada tidak terlacak saat berulang.
Tapi kami belum memperlakukan submodul dengan cara yang sama.
Karena itu, git status --ignored --untrackeddengan submodul
submoduledi gitignored tracked/akan menampilkan submodul di bagian " Untracked files", mis.
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
tracked/submodule/
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
tracked/submodule/initial.t
Sebagai gantinya, kami ingin menampilkan submodul di bagian " Ignored files":
On branch master
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
tracked/submodule/