Rebasing
Rebasing საშუალებას გაძლევთ ჩართოთ ცვლილებები ერთი ფილიალიდან მეორე ფილიალში, ჩადენის ისტორიის შეცვლით. ის იმეორებს დავალებებს წყაროს ფილიალიდან სამიზნე ფილიალზე. ეს იწვევს უფრო სუფთა და უფრო ხაზოვან ჩადენის ისტორიას.
მაგალითი: დავუშვათ, რომ თქვენ გაქვთ ფუნქციების ფილიალი feature-branch
ე.წ. main
შეგიძლიათ გამოიყენოთ შემდეგი ბრძანება:
git checkout feature-branch
git rebase main
ეს გამოიყენებს ვალდებულებებს main
ფილიალიდან feature-branch
. ნებისმიერი კონფლიქტი უნდა მოგვარდეს რებაზის პროცესის დროს.
Stashing
Stashing გაძლევთ საშუალებას შეინახოთ თქვენი მიმდინარე ცვლილებები, რომლებიც მზად არ არის შესასრულებლად, და დროებით დაუბრუნდეთ სუფთა სამუშაო დირექტორიას. ეს გამოსადეგია, როცა გჭირდებათ სხვა ფილიალზე გადასვლა ან სხვა ფუნქციაზე მუშაობა იმ ცვლილებების განხორციელების გარეშე, რომლებზეც ამჟამად მუშაობთ.
მაგალითი: ვთქვათ, თქვენ მუშაობთ ფუნქციების ფილიალზე და შეიტანეთ გარკვეული ცვლილებები, მაგრამ უნდა გადახვიდეთ სხვა ფილიალზე. თქვენ შეგიძლიათ გამოიყენოთ შემდეგი ბრძანებები თქვენი ცვლილებების შესანახად:
git stash
ახალ ფილიალზე გადასვლის შემდეგ, შეგიძლიათ გამოიყენოთ შენახული ცვლილებები:
git stash apply
Git Hooks
Git Hooks
არის სკრიპტები, რომლებიც გამოწვეულია Git-ის კონკრეტული მოვლენებით, როგორიცაა წინასწარი ჩადენა, პოსტ-კომიტაცია, წინასწარ დაძაბვა და ა.შ. ისინი საშუალებას გაძლევთ ავტომატიზირდეთ გარკვეული ქმედებები ან განახორციელოთ კონკრეტული წესები თქვენს სამუშაო პროცესზე.
მაგალითი: დავუშვათ, რომ გსურთ აწარმოოთ ლინტერი თქვენს კოდზე ჩადენამდე. თქვენ შეგიძლიათ შექმნათ წინასწარი ჩაწერის სკრიპტი, რომელიც ააქტიურებს ლინტერს და ხელს უშლის ჩადენას, თუ რაიმე შეცდომის არსებობაა.
Git Submodule
Git Submodule
საშუალებას გაძლევთ შეიყვანოთ სხვა Git საცავი, როგორც ქვედირექტორი თქვენს მთავარ საცავში. ეს სასარგებლოა, როდესაც თქვენ გაქვთ პროექტი, რომელიც დამოკიდებულია გარე ბიბლიოთეკებზე ან კომპონენტებზე.
მაგალითი: თქვენ გაქვთ პროექტი, რომელიც მოითხოვს კონკრეტულ ბიბლიოთეკას. ბიბლიოთეკის კოდის თქვენს საცავში დუბლირების ნაცვლად, შეგიძლიათ დაამატოთ ის ქვემოდულად. ამ გზით შეგიძლიათ ბიბლიოთეკის კოდი ცალკე შეინახოთ და საჭიროების შემთხვევაში მარტივად განაახლოთ იგი.
Git Revert and Git Reset
Git Revert
გააუქმებს წინა commit-ს ახალი commit-ის შექმნით, რომელიც გააუქმებს თავდაპირველ commit-ში განხორციელებულ ცვლილებებს. Git Reset
მეორეს მხრივ, საშუალებას გაძლევთ გადაიტანოთ განშტოების ინდიკატორი სხვა დავალებაში, ფაქტობრივად უარყოთ ჩადენები ჩადენის ისტორიიდან.
მაგალითი: თუ გსურთ გააუქმოთ ბოლო commit, შეგიძლიათ გამოიყენოთ git revert HEAD
ახალი commit-ის შესაქმნელად, რომელიც გააუქმებს ბოლო commit-ში განხორციელებულ ცვლილებებს. თუ გსურთ ბოლო დაშვების მთლიანად გაუქმება, შეგიძლიათ გამოიყენოთ git reset HEAD~1
განშტოების ინდიკატორის უკან გადატანა ერთი კომიტით.
Git-ის ეს მოწინავე კონცეფციები იძლევა მძლავრ შესაძლებლობებს თქვენი საცავის ეფექტურად მართვისთვის. იმის გაგება, თუ როგორ გამოიყენოთ ისინი და როდის გამოიყენოთ ისინი მნიშვნელოვნად გააუმჯობესებს თქვენს Git სამუშაო პროცესს და პროექტის მენეჯმენტს.