Git განსაზღვრავს ვერსიის კონტროლის პროცესებს, თუ როგორ უნდა გაზიაროთ პროექტები. ბევრი ვებსაიტი არსებობს, რომელიც საშუალებას გაძლევთ უმასპინძლოთ თქვენს Git პროექტებს. GitHub არის ყველაზე პოპულარული ვარიანტი, Bitbucket არის კიდევ ერთი პოპულარული ალტერნატივა, ორივე საშუალებას აძლევს უფასო ანგარიშებს, რომლებსაც შეუძლიათ შეუზღუდავი საჯარო ან კერძო საცავების შექმნა. GitLab გთავაზობთ თვითმმართველობის ჰოსტინგის ალტერნატივას, რომელიც საშუალებას აძლევს კერძო განვითარებას მესამე მხარის ჰოსტინგზე დაყრდნობის გარეშე.
Git საცავის პირველად ჩამოტვირთვის პროცესს კლონირება ეწოდება. კლონირება მოიცავს იმდროინდელ საცავთან დაკავშირებულ ყველა ინფორმაციას, თუმცა, იმისათვის, რომ დროთა განმავლობაში საცავი განახლდეს, თქვენ უნდა ჩამოშალოთ ახალი ვერსიები. ამისათვის უბრალოდ გახსენით ტერმინალის ფანჯარა დირექტორიაში საცავის ლოკალური ვერსიით და ჩაწერეთ ბრძანება "git pull".
ამ ბრძანების მოქმედება განსაკუთრებით მარტივია, თუ თქვენ უბრალოდ გსურთ ჩამოტვირთოთ საცავის განახლებული ვერსია; ლოკალური ვერსია განახლდება დისტანციურ ვერსიასთან შესატყვისად. თუმცა, თქვენ შეიძლება დაინახოთ, რომ შეიძლება იყოს პრობლემები, თუ თქვენ შეიტანეთ ცვლილებები თქვენს ადგილობრივ ვერსიაში.
ბრძანება "git pull" რეალურად აწარმოებს ორ ცალკეულ ბრძანებას "git fetch" და "git merge FETCH HEAD". ქვებრძანება „git fetch“ კონკრეტულად ამოიღებს უახლეს ვერსიას ონლაინ საცავიდან და დროებით ინახავს მას. ქვე-ბრძანება „git merge FETCH HEAD“ შემდეგ აერთიანებს თქვენს ლოკალურ ცვლილებებს ჩამოტვირთულ ვერსიას, უფრო ახალი დავალებების უპირატესობას.
რჩევა: „git commit“ არის ცვლილების წარდგენა, შესაძლებელია გქონდეთ მრავალი ლოკალური და დისტანციური შეკვეთა, რომლებიც ერთსა და იმავე ან განსხვავებულ საქმეებს აკეთებენ. ლოკალური ვალდებულებები არ ჩანს დისტანციური ვერსიისთვის, სანამ ცვლილებები არ მოხდება. თითოეული შეთანხმება დეტალურად ასახავს რა ცვლილებები განხორციელდა და მოიცავს დროის ნიშანს.
კონფლიქტები ადგილობრივ და დისტანციურ ვერსიებს შორის
იდეალურ შემთხვევაში, შერწყმის სცენარში, არ იქნება კონფლიქტები და შერწყმის პროცესი ავტომატურად დასრულდება. შერწყმა შეიძლება იყოს განსაკუთრებით მარტივი, თუ რამდენიმე ცვლილება განხორციელდა, ან თუ თქვენი ადგილობრივი ცვლილებები ხელს არ შეუშლის რაიმე დისტანციურ ცვლილებებს. თუმცა, თუ კოდის იმავე ნაწილზე არის კონფლიქტური კომპლექსური ცვლილებები, Git გამოიწვევს შერწყმის შეცდომას.
ამ ეტაპზე, შეგიძლიათ შეწყვიტოთ შერწყმა ბრძანებით "git merge –abort" ან სცადოთ ხელით მოაგვაროთ კონფლიქტები. ბრძანებები "git mergetool" და "git diff" იძლევა განსხვავებების გრაფიკულ მაგალითს, რომელიც უნდა დაეხმაროს რათა მაქსიმალურად გაადვილდეს იმის დანახვა, თუ რა ცვლილებებია საჭირო ხელით შერწყმის დასაშვებად სრული. მას შემდეგ რაც მოაგვარებთ ყველა კონფლიქტს, აკრიფეთ ბრძანება „git merge –continue“ შერწყმის დასასრულებლად.