শ্রীধর নীচে মন্তব্য হিসাবে , গিট ১..5.৫ + থেকে git clone --recursiveএখন সরকারী বিকল্প হিসাবে বর্ণিত:
inamiy সঠিকভাবে তুলে ধরেgit submodule update --init --recursive কমান্ড চালু b13fd5c কমিট , git1.6.5 মধ্যে আবার দ্বারা জোহান Herland ( jherland) ।
আর IceFire যোগ মন্তব্য :
আপনি যদি কোনও সাবমডিউলের কেবলমাত্র একটি সাবমডিউল চেকআউট করতে চান, তবে
git submodule update --init <submoduleName>যাওয়ার উপায়।
(পুরানো মূল উত্তর)
মতে ম্যানুয়েল পৃষ্ঠা
git submodule update --recursive
কোনও নেস্টেড সাবমডিউলগুলি আপডেট করা উচিত। তবে init অংশটি পুনরাবৃত্ত হতে পারে না।
গিটের আপনার সংস্করণ অনুসারে, আপনি আরও নিখরচায় "স্ক্রিপ্টিং" পদ্ধতির কাছে ফিরে যেতে পারেন, নিবন্ধটি পুনরাবৃত্তভাবে গিট সাবমোডিয়ুল আপডেট করা যা পুনরাবৃত্তি আরম্ভ এবং আপডেটের জন্য অনুমতি দেয়:
#!/usr/bin/perl
use strict;
use Cwd;
init_and_update();
exit;
sub init_and_update
{
my $start_path = cwd();
my %paths;
my $updated;
do
{
my $data = `find . -name '.gitmodules'`;
chomp($data);
$data =~ s/\/\.gitmodules//g;
foreach my $path (split(/\n/, $data))
{
$paths{$path} = '' if($paths{$path} eq '');
}
$updated = 0;
foreach my $path (sort keys %paths)
{
if($paths{$path} eq '')
{
chdir($path);
`git submodule init 2>&1`;
`git submodule update 2>&1`;
chdir($start_path);
if($ARGV[0] eq '--remove-gitmodules')
{
unlink("$path/.gitmodules");
}
$paths{$path} = 1;
$updated++;
}
}
} while($updated);
}