Git Submodule: დამოკიდებულებების მართვა და ქვესაცავების ინტეგრირება

Git Submodule საშუალებას გაძლევთ ჩართოთ Git საცავი სხვა Git საცავში, როგორც ქვედირექტორია. ეს სასარგებლოა, როდესაც თქვენ გაქვთ პროექტი, რომელიც დამოკიდებულია ბიბლიოთეკაზე ან გარე კომპონენტზე. აქ არის ძირითადი სახელმძღვანელო გამოყენების შესახებ Git Submodule:

 

დამატება Submodule

მიმდინარე საცავში a-ს დასამატებლად Submodule გადადით საცავის root დირექტორიაში და გაუშვით შემდეგი ბრძანება:

git submodule add <URL_repository> <destination_path>

სად <URL_repository> არის საცავის URL, რომლის ჩაშენებაც გსურთ, და <destination_path> არის გზა მიმდინარე საცავში ქვედირექტორიისკენ, რომ შეინახოთ Submodule.

 

კლონი Submodule

მას შემდეგ რაც დაამატებთ Submodule საცავში, თქვენ უნდა მოახდინოთ მისი კლონირება არსებულ საცავში. კლონირებისთვის Submodule, შეასრულეთ შემდეგი ბრძანებები:

git submodule init  
git submodule update  

ბრძანება git submodule init ახდენს ინიციალიზაციას Submodule და ქმნის ბმულს საცავთან, რომელიც შეიცავს ქვემოდულს. ბრძანება git submodule update ჩამოტვირთავს წყაროს კოდს Submodule და განაახლებს მას შესაბამის ქვედირექტორიაში

.

მუშაობა Submodule

მას შემდეგ, რაც Submodule კლონირებული იქნება საცავში, შეგიძლიათ მასთან მუშაობა, როგორც დამოუკიდებელი Git საცავი. თქვენ შეგიძლიათ გადაამოწმოთ ფილიალები, შექმნათ commits და დააყენოთ შიგნით Submodule.

არსებულ საცავში ქვემოდულის განახლებისთვის, გაუშვით ბრძანება:

git submodule update --remote

ეს ბრძანება ჩამოტვირთავს უახლეს ცვლილებებს საცავიდან Submodule და განაახლებს მას შესაბამის ქვედირექტორიაში.

 

ამოღება Submodule

თუ აღარ გჭირდებათ Submodule, შეგიძლიათ წაშალოთ იგი შემდეგი ბრძანებების გაშვებით:

git submodule deinit <submodule_name>  
git rm <submodule_path>  

ჩაანაცვლეთ <submodule_name> სახელით Submodule და <submodule_path> ქვედირექტორიის ბილიკით, რომელიც შეიცავს Submodule. შემდეგ, თქვენ უნდა ჩაიდინოთ და ხელი შეუწყოთ ამ ცვლილებას.

 

Git Submodule დაგეხმარებათ მართოთ დამოკიდებულებები და მარტივად მოაწყოთ ქვესაცავები თქვენს მთავარ პროექტში. ეს საშუალებას გაძლევთ შეინახოთ ცალკეული წყაროს კოდი Submodule და მარტივად განაახლოთ იგი საჭიროების შემთხვევაში.