Blog

Writing about Digital Humanities, Computational Linguistics, Corpus Linguistics and whatever else.

GitHub ჰუმანიტარებისათვის

0 comments

Github არის ფაილების სხვადასხვა ვერსიის კონტროლზე ორიენტირებული სისტემა. Git-ის საშუალებით შესაძლებელია ერთ პროექტზე მომუშავე სხვადასხვა ადამიანის მუშაობის შეჯერება. ჯგუფის წევრებს შეუძლიათ სხვადასხვა ფაილზე ერთდროულად მუშაობა და თავისი ცვლილებების შეჯერება პროექტის მთავარ ნაწილში (master branch).

შესავალი

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

რატომ მნიშვნელოვანია GitHub-ის გამოყენება? მაგალითად, ორ ადამაინს სჭირდება სხვადასხვა დონის ანოტირების შექმნა ერთსა და იმავე ფაილში: ერთი მუშაობს გეოგრაფიული სახელების ანოტირებაზე, ხოლო მეორე - საკუთარი სახელებისა. ბუნებრივია, რომ dropbox-ის ან სხვა სისტემის საშუალებით, ფაილის ატვირთვისას ერთი ადამიანი გადააწერს მეორე ადამიანის მიერ შექმნილ ფაილს და ფაილში, ბუნებრივია, აისახება მხოლოდ პირველი ადამიანის მიერ შეტანილი ცვლილებები, რითაც გაუქმდება მეორე ადამიანის მიერ შეტანილი ცვლილება. GitHub-ის საშუალებით კი, მოხდება ორი ადამიანის მიერ შეტანილი ცვლილებების შეჯერება და აღნუსხვა ატვირთული ფაილების სტრუქტურის დაზიანების გარეშე და უზრუნველყოფილი იქნება ერთსა და იმავე ფაილზე ერთდროულად მუშაობის შესაძლებლობა.

Git-ი არის ვერსიების კონტროლის სისტემა, ხოლო GitHub-ი არის ცენტრალური სერვერი, სადაც ხდება ცენტრალური საცავის განთავსება.

საცავის შექმნა

საცავი არის საპროექტო სივრცე, რომელშიც ხდება კოდების, ტექსტური ფაილების, სურათებისა და სხვა ტიპის ფაილების განთავსება. GitHub-ის საცავი გამოიყენება, როგორც გარე საცავი. როგორ იქმნება GitHub-ის საცავი?

  • გადადიხართ შემდეგ ლინკზე: https://github.com/, ავსებთ ფორმას და აწვებით „Sign up for Github“. ამის შემდეგ, თქვენი რეგისტრაცია დასრულებულია;
  • აწკაპუნებთ „Start a project“;
  • მიანიჭეთ საცავს სახელი და დაურთეთ „Description“ აღწერა (სურვილის შემთხვევაში);
  • აირჩიეთ რეჟიმი, რომელშიც იმუშავებს საცავი „საჯარო“ (Pulbic) ან „კერძო“ (Private). „საჯარო“ რეჟიმი ნიშნავს, რომ ნებისმიერი ადამიანი შეძლებს საცავის ნახვას, კლონირებას, გავრცობას და ა.შ., ხოლო „კერძო“ რეჟიმი ნიშნავს, რომ საცავი ხელმისაწვდომი იქნება მხოლოდ პროექტზე მომუშავე პირთათვის. „საჯარო“ რეჟიმი გულისხმობს წევრთა შეუზღუდავ რაოდენობას, მაშინ როცა „კერძო“ რეჟიმი, GitHub-ის უფასო ვერსიის შემთხვევაში, გულისხმობს სამწევრიან პროექტს, GitHub-ის ფასიანი ვერსიის შემთხვევაში კი, „კერძო“ რეჟიმიც წევრთა შეუზღუდავ რაოდენობას გულისხმობს;

მოახდინეთ საცავის ინიციალიზაცია README ფაილის გამოყენებით. აღნიშნული ფაილი მოიცავს პროექტის აღწერას და თუ შეამოწმებთ თქვენს საცავს, ეს იქნება პირველი ფაილი, რომელიც საცავში გამოჩნდება.

ამის შემდეგ, საცავი უკვე შექმნილია და მასში შესაძლებელია სხვადასხვა ოპერაციის შესრულება, როგორიცაა დავალების მიცემა (commit), განშტოებების (branch) შექმნა, მონაცემების ჩამოტვირთვა (pull), მონაცემების ატვირთვა (push).

განშტოებების შექმნა და ცვლილებების განხორციელება

განშტოებები (branch) გამოიყენება საცავის სხვადასხვა ვერსიაზე ერთდროულად მუშაობის უზრუნველყოფის მიზნით. განშტოების საშუალებით შეგიძლიათ პროექტის ადრინდელ ვერსიაში დაბრუნება. განშტოების შესაქმნელად საჭიროა შემდეგი საფეხურების გავლა:

  • დააწკაპუნეთ „Branch: master“-ს;
  • შეარჩიეთ სახელი და შექმენით ახალი განშტოება (Create branch)

მას შემდეგ, რაც შექმნით ახალ განშტოებას, გექნებათ ორი განშტოება. ახალი განშტოება იქნება მთავარი განშტოების (master branch) ასლი.

ბრძანებები

დავალების მიცემის (Commit) ბრძანება:

აღნიშნული ბრძანება გეხმარება ცვლილებების შესანახად. როცა ქმნით დავალებას ან ახალ ფაილს, ყოველთვის უნდა დაურთოთ შენიშვნა რომელი ტიპის ცვლილებები განახორციელეთ. ასეთი ტიპის შეტყობინებებით ქმნით ცვლილებათა ისტორიას, რომელსაც, თავის მხრივ, პროექტის სხვა წევრები გამოიყენებენ ფაილის შესახებ ინფორმაციის მისაღებად. დავალება უნდა მისცეთ შემდეგნაირად:

  • დააწკაპუნეთ README ფაილის გასწვრივ არსებულ ფანქრის გამოსახულებას, რომელიც გამოიძახებს ცვლილებების ფანჯარას;
  • ჩაწერეთ ნებისმიერი შეტყობინება, რომელიც შეესაბამება თქვენს მიერ შეტანილ ცვლილებას;
  • დააწკაპუნეთ „Commit changes” ღილაკს

შესაბამისად, ახლა README ფაილი განსხვავდება სხვა განშტოებაში არსებული ფაილისაგან.

მონაცემების ჩამოტვირთვის (Pull) ბრძანება

მონაცემების ჩამოტვირთვის ბრძანებით ხდება ფაილში ჩადებული ცვლილებების სხვებისთვის გაზიარება. მას შემდეგ, რაც მოხდა დავალების მიცემა, ნებისმიერს შეუძლია მონაცემების ჩამოტვირთვა და მათი დამუშავება, შესწავლა და ა.შ. და მერე შეძლებთ ფაილების გაყოფას (merge). მონაცემების ჩამოტვირთვის ბრძანებით ხდება განხორციელებული ცვლილებების ავტომატური შეჯერება, ხოლო თუ ცვლილებები ერთმანეთს ეწინააღმდეგება ხდება მათი განხილვა. ცვლილებების შესაჯერებლად:

  • დააწკაპუნეთ „Pull requests“-ის ღილაკს;
  • დააწკაპუნეთ „New pull request“;
  • აირჩიეთ განშტოება და დააწკაპუნეთ „README“-ის ფაილს განხორციელებული ცვლილებების სანახავად;
  • დააწკაპუნეთ „Create pull request“;
  • მიანიჭეთ ნებისმიერი სახელწოდება, აღწერეთ თქვენი ცვლილებები

მონაცემების გაერთიანების (Merge) ბრძანება

და, ბოლოს, ბრძანება, რომლითაც შესაძლებელია მონაცემების გაერთიანება ამოსავალ განშტოებაში (master branch) არსებულ მონაცემებთან. წითელ და მწვანე ფერებში უკვე ვნახეთ ცვლილებები, ახლა კი საჭიროა ცვლილებების გაერთიანება ამოსავალ განშტოებაში არსებულ ფაილთან. ამისათვის,

  • დააწკაპუნეთ „Merge pull request“-ს;
  • დააწკაპუნეთ „Confirm merge“;
  • ამის შემდეგ, კონფლიქტების არ-ქონის შემთხვევაში ყველა ცვლილების გაერთიანების შემდეგ შეგიძლიათ განშტოების გაუქმება;

GitHub-ის საცავის კლონირება და გავრცობა

კლონირება (Cloning):

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

კლონირებულ საცავთან მუშაობა შესაძლებელია GitHubDesctop-ის გამოყენებით, რომელიც გადმოსაწერია შემდეგი ლინკიდან: https://desktop.github.com/-იდან. GitHubDesctop-ის გამოყენების ინსტრუქცია კი იხილეთ შემდეგ ლინკზე:

  • აწკაპუნებთ „Open GitHubDesctop.exe“;
  • აწკაპუნებთ „Choose“ და ირჩევთ საკუთარ კომპიუტერში საქაღალდეს, რომელშიც ათავსებთ კლონირებულ საცავს.

ამის შემდეგ კი, ამის შემდეგ კი, აწკაპუნებთ "Clone" და შეგიძლიათ საცავში ცვლილებების საკუთარ კომპიუტერში განხორციელება, ხოლო შემდგომ GitHub-ზე ატვირთვა.

გავრცობა (forking):

საცავის გავრცობა ხდება მაშინ, როცა გჭირდებათ საჯარო საცავში მოხვედრილი ფაილების საკუთარ საცავში გამოყენება, მაგრამ გასათვალისწინებელია, რომ

  • საწყისს საცავში განხორციელებული ცვლილებები ყოველთვის აისახება გავრცობილ საცავში;
  • გავრცობილ საცავში განხორციელებული ცვლილებები არ აისახება საწყისს საცავში მანამ, სანამ არ შექმნით ახალ განაცხადს (pull request).

შესაბამისად,

  • ეძებთ თქვენთვის სასურველ საცავს, აწკაპუნებთ „Fork“-ის ღილაკს და გადმოგაქვთ საკუთარ საცავში.

მასალა მომზადებულია GitHub ტუტორიალის გამოყენებით.

Comments

Leave a comment