Skip to content

Instantly share code, notes, and snippets.

@ixtk
Created April 23, 2025 08:39
Show Gist options
  • Save ixtk/16c90e7dc1a8d352929ef467904722c3 to your computer and use it in GitHub Desktop.
Save ixtk/16c90e7dc1a8d352929ef467904722c3 to your computer and use it in GitHub Desktop.

ზოგადი მოთხოვნები

Design mockup

Figma file

Sass

ამ პროექტში სტილისთვის გამოვიყენებთ SASS extension-ს.

სხვა

  • ფონტის ზომებისთვის ყოველთვის გამოიყენეთ rem ერთეული
  • განმეორებადი მნიშვნელობები დაამატეთ CSS ცვლადებში, ლოგიკური სახელით
  • გამოიყენეთ უკვე დამატებული CSS ცვლადები
  • ფერებისთვის ვიყენებთ hsl ფორმატს, ყველგან
  • ძალიან მარტივია CSS-ის კოდის არევა და ქაოსურად წერა, ეს თავიდან უნდა ავიცილოთ. ზოგადად, უნდა დავწეროთ სტანდარტული, სუფთა CSS-ის კოდი
  • ცვლადის სახელები უნდა იყოს ლოგიკური
  • Commit-ის მესიჯები უნდა იყოს ლოგიკური, მოკლე მაგრამ კონკრეტული. მაგ: Add product variant cars და არა change some stuff

Git & Github

Git/Github workflow

ტერმინი მნიშვნელობა მიზანი
upstream/dev dev ბრენჩი ორიგინალ რეპოზიტორში (საიდანაც fork გააკეთეთ) ორიგინალი repository-დან (upstream) ბოლო ცვლილებების წამოსაღებად, სანამ ახალ ფუნქციაზე მუშაობას დაიწყებთ
origin/feature-branch feature branch forked repository-ში თქვენი fork-ის (origin) შენახვისთვის და upstream/dev-ში Pull Request-ის გასაგზავნად

1. Forking

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

  1. მთავარი repository-ის გვერდზე დააჭირეთ "Fork" ღილაკს.
  2. გადმოწერეთ forked repository თქვენს კომპიუტერში:
git clone <forked_repo_url>

2. Upstream Remote-ის დამატება

Fork-ის გაკეთების შემდეგ საჭიროა მთავარ, ორიგინალ repository-სთან დაკავშირება, სიახლეები რომ გადმოვწეროთ ხოლმე.

git remote add upstream <original_repo_url>

აღწერა:

  • git remote add ამატებს ახალ remote-ს (remote მიუთითებს repository-ზე, რომელიც განთავსებულია ონლაინ, GitHub-ზე, და არა ჩვენს კომპიუტერში. იმისთვის გვჭირდება, რომ ცვლილებები ავტვირთოთ ან გადმოვწეროთ ხოლმე მითითებული URL-ით)
  • upstream არის remote-ის დასახელება (რასაც გინდათ დაარქმევთ).
  • <original_repo_url> არის მთავარი repository-ის ბმული.

მაგალითად:

git remote add upstream https://github.com/original_owner/repo_name.git

არსებული remote-ების შემოწმება:

git remote -v

origin    https://github.com/student_username/repo_name.git (fetch)
origin    https://github.com/student_username/repo_name.git (push)
upstream  https://github.com/original_owner/repo_name.git (fetch)
upstream  https://github.com/original_owner/repo_name.git (push)
  • origin → სტუდენტის fork-ით შექმნილი repo
  • upstream → ორიგინალი repository

3. ახალი Branch-ის შექმნა

პირველ რიგში, სანამ ახალ ფუნქციაზე მუშაობას დაიწყებთ, უნდა გადმოწეროთ უახლესი ცვლილებები upstream/dev-დან:

git checkout dev
git fetch upstream
git merge upstream/dev  # ან გამოიყენეთ git rebase upstream/dev უფრო სუფთა commit-ისტორიისთვის

Branch არის repository-ის ცალკე ვერსია, რომელშიც შესაძლებელია ახალი ფუნქციების დამატება, ისე, რომ კოდის მთავარ ვერსიას (main branch) "არ ვეხებით".

git checkout -b <branch_name>

მაგალითად:

git checkout -b user-auth

4. Commit & Push

  1. ფაილების ცვლილებების შემოწმება:
    git status
  2. ყველა ცვლილების staging გარემოში დამატება:
    git add .
  3. Commit-ის შექმნა:
    git commit -m "Add user login"
  4. ცვლილებების ატვირთვა:
    git push origin <branch_name>

5. Pull Request-ის (PR) შექმნა dev Branch-ზე

Pull request ანუ feature-branch-ის ცვლილებების მთავარ კოდში დამატების მოთხოვნა

  1. გადადით თქვენს fork-ზე GitHub-ზე.
  2. დააჭირეთ "Compare & pull request".
  3. აირჩიეთ dev როგორც base branch.
  4. მეორე მხარეს აირჩიეთ თქვენი დავალების branch.
  5. დაამატეთ სათაური და აღწერა.
  6. დააჭირეთ "Create pull request".

6. Merge Conflict-ების მოგვარება

Merge Conflict ხდება მაშინ, როცა ორი branch-ში ერთი და იგივე ფაილის ერთი და იგივე ხაზზე განსხვავებული ცვლილებებია გაკეთებული.

Merge Conflict-ების შემოწმება

თუ Git გვატყობინებს, რომ კონფლიქტი მოხდა, შევამოწმოთ ფაილები:

git status

Merge Conflict-ის ხაზის მაგალითი:

<<<<<<< HEAD
ჩემი ცვლილება
=======
სხვა branch-ის ცვლილება
>>>>>>> upstream/dev

Merge Conflict-ის მოგვარება

  1. გახსენით ფაილი რედაქტორში და გადაწყვიტეთ, რომელი ცვლილება დატოვოთ.
  2. წაშალეთ <<<<<<<, ======= და >>>>>>> სიმბოლოები.
  3. შეინახეთ ფაილი და შემდეგ გაუშვით:
    git add <conflicted_file>
    git commit -m "Resolved merge conflict"
  4. ატვირთეთ გამოსწორებული ფაილი:
    git push origin <branch_name>

ამაზე მარტივი იქნება VSCode-ის merge editor-ის გამოყენება:

merge editor

აქ აირჩიეთ ზემოთ მითითებული მოქმედებები (Accept current change/Accept incoming change/Accept both changes/Compare changes)

ამ პროცესის შემდეგ, თქვენი branch-ის ცვლილებები მზად იქნება გადასახედად upstream/dev-ში PR-ის საშუალებით.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment