Home

Робота з GitHub

Зміст

  1. Команди терміналу GitBash
  2. Команди Git
  3. Налаштування name та email
  4. Відкат комітів
  5. Перегляд любого коміту
  6. Видалення останнього коміту
  7. Перезапис гілки з іншої гілки
  8. Створння тегів
  9. Конспект GitHub з YouTube (з зошита)

Команди терміналу GitBash

  1. Перевірив:
  2. pwd current directory
  3. ls List the contents of the current directory
  4. ls -la Скриті файли
  5. cd .. UP folder.
  6. cd folder1/folder2 Change the directory to a different location.
  7. mkdir my-folder1 Create a new directory
  8. touch file1.txt Create a new file
  9. echo "my text" > file3.txt Write text and Create file
  10. rm file1.txt Remove a file
  11. rm -rf my-folder1 Remove directory
  12. cp file.txt copy-file.txt Copy a file or directory
  13. mv copy-file.txt file4.txt Move or rename a file or directory
  14. cat file4.txt Read a file to the terminal
  15. Не Перевірив:
  16. echo: Print text to the terminal
  17. grep: Search for a pattern in a file
  18. chmod: Change the permissions of a file or directory
  19. sudo: Run a command with administrative privileges
  20. df: Display the amount of disk space available
  21. history: Show a list of previously executed commands.
  22. ps:ps: Display information about running processes

Команди Git

  1. git init - Ініціалізація проекту
  2. git status - Підготовлені файли для коміта
  3. git clone URL - Клонування репо з GitHub
  4. git branch newBranch - Створити гілку
  5. git checkout назваГілки - Перехід в гілку
  6. git branch - Виводить список усіх гілок
  7. git branch -m newNameBranch - Перейменувати гілку
  8. git add . - Підготовка до коміту
  9. git commit -m “мій коміт” - Зробити коміт
  10. git log - Історія комітів
  11. git push - Запушити коміт
  12. git push --set-upstream origin qweqwe - Перший пуш гілки
  13. git pull - Стягує зміни з репозиторію
  14. git branch -D name_branch - Видалити гілку локально
  15. git push origin --delete /назва_гілки - Видалити гілку віддалено
  16. git merge ‘назва-гілки’ - залиття коду з гілки ‘назва-гілки’ на поточну гілку
  17. git --help
  18. git show hesh
  19. git cherry pick hesh

Посилання на мій конспект

Налаштування name та email

Якщо ви ще не налаштовували Git на новій ОС, вам потрібно встановити ваше ім'я користувача та електронну пошту. Це важливо для коректної фіксації змін.

Перевірити name та email

        git config --global user.name 
        git config --global user.email

Встановити name та email

        git config --global user.name "Serhii Saniuk"
        git config --global user.email "yupit..@gmail.com"

Відкат комітів

Git Revert

Цей спосіб є найбільш безпечним, оскільки він створює новий коміт, який скасовує зміни попереднього. Це ідеально підходить, якщо ви хочете скасувати зміни, які вже були опубліковані (pushed) у віддалений репозиторій. Це не змінює історію проєкту, що дуже важливо для командної роботи.

Щоб скасувати останній коміт:

git revert HEAD

Щоб скасувати конкретний коміт:

git revert [(]commit_hash]

Git Reset

Команда git reset дозволяє повернути ваш репозиторій до попереднього стану. Цей метод переписує історію комітів, тому його слід використовувати з обережністю, особливо якщо ви працюєте в команді та зміни вже були опубліковані. Якщо ви працюєте в команді, уникайте git reset для комітів, які вже знаходяться у віддаленому репозиторії.

git reset --hard [commit_hash]

Це найагресивніший режим. Він відкочує і гілку, і індекс, і робочу директорію до вказаного коміту. Всі зміни, зроблені після цього коміту, будуть безповоротно втрачені. Використовуйте цю команду з максимальною обережністю! Після використання git reset, якщо ви хочете опублікувати зміни, вам, ймовірно, доведеться використовувати git push --force

Перегляд любого коміту

Перевіряєм які у нас є коміти. Пишем в терміналі
git log
git checkout #####hesh#####
Повернення назад:
git checkout main

Перегляд останнього коміту

git show HEAD

HEAD — це вказівник на останній коміт у поточній гілці.

Перегляд попереднього коміту:

git show HEAD~1

Ця команда покаже деталі коміту, який передує найновішому.

Перегляд будь-якого коміту за хешем:

git show [commit_hash] приклад: git show abcdef1

Видалення останнього коміта YouTube

Важливо! Видаляти треба як з докального місця так і з GitHub.

Локально. Заходим в термінал і пишемо команду
git log
Перевіряємо скільки комітів потрібно видалити до потрібного коміту. Якщо одит то пишемо команду
git reset --hard HEAD~
Якщо два то команду
git reset --hard HEAD~2

На GitHub. Заходим на GitHub. В розділ "Commits" і превіряємо що там лишне. Повертаємось у термінал і пишемо команду:
git push --force
Примусово запушаться зміни на GitHub такі як і локально

Перезапис гілки з іншої гілки

Для вашого випадку, коли main має "непотрібний" код, найпростішим рішенням є просто перезаписати гілку main вмістом гілки branch1. Це можна зробити за допомогою "примусового" пушу (force push), але це слід використовувати з обережністю, оскільки це перезаписує віддалену історію. gemini

  • git checkout main
  • git reset --hard branch1
  • git push --force origin main

Створння тегів

Коли ви працюєте з Git і GitHub, керувати версіями коду можна кількома способами, і найзручнішим для вашої задачі є використання тегів (tags). Теги — це стабільні, незмінні вказівники на конкретні коміти в історії вашого репозиторію. Це як закладки, які ви ставите на важливих "знімках" вашого коду. gemini

  • Створення тегу локально

    git tag v1.0 або git tag -a v1.0 -m "comment"
  • Відправка тегу на GitHub

    git push origin v1.0

    Або, щоб відправити всі створені локальні теги:

    git push origin --tags
  • Просто переглянути та скопіювати код по тегу

    git checkout v1.0

    АЦе переведе ваш локальний репозиторій у стан "detached HEAD", тобто ви не будете знаходитися на жодній гілці У цьому стані ви можете переглядати та копіювати файли, але не варто робити нові коміти.

    Щоб повернутися до своєї основної гілки

    git checkout main
  • Створити нову гілку з тегу

    git checkout -b new_branch_from_v1.0 v1.0

    Ця команда одночасно створить нову гілку з назвою new_branch_from_v1.0 і переключиться на неї, використовуючи стан коду з тегу v1.0.

Конспект GitHub з YouTube (з зошита)

Початок роботи

  • Встановити на комп Git
  • Відкрити термінал GitBash or Power Shell
  • Перевірити версію. Команда git --version
  • Налаштування імені автора: git config --global user.name "Serhii Saniuk" Це ім"я буде для усіх репозиторіїв
  • Налаштування E-mail автора: git config --global user.email "shv08@ukr.net"
  • Вихід: Q

Створення новогоо ЛОКАЛЬНОГО репозиторію

  1. Створити папку з назвою проекта
  2. Зайти туди і відкрити там термінал Git Bash
  3. Ініціалізація проекту git init
  4. echo "my text" > file3.txt Write text and Create file
  5. git add . - Підготовка до коміту
  6. git commit -m “мій коміт” - Зробити коміт
  7. git log - Історія комітів
  8. git checkout dff6d5f - hesh переміщення по комітам
  9. git checkout main - переміщення в main
  10. Створюємо нову гілку git branch newBranch
  11. git checkout назваГілки - Перехід в гілку
  12. git branch - Виводить список усіх гілок
  13. git branch -m newNameBranch - Перейменувати гілку
  14. git branch -d branchname - Видалити гілку локально
  15. Поточну гілку видалити не можна
  16. git push -d remote_name branchname - Видалити гілку
  17. git merge branchname - злиття гілки. Після злиття треба видалити

Практика в VS Code

  • Git Bash - code .
  • Можна робити коміти з VS Code (Підсвічує "М")
  • Натискаємо на значек типу як usb
  • Натискаємо "+" біля файлу (типу як git add .)
  • В поле message пишемо повідомлення
  • Натискаємо commit
  • Короче, в VS Code я зробив дві гілки і буду робить злиття
  • git merge -m "merge into main" new-fature

Сервіси хостінгa GitHub

  • git clone URL - Клонування репо з GitHub
  • git push Додати зміни в репо
  • git pull Стягнути зміни

В репо багато гілок але після клонування ми їх не побачимо. Щоб їх побачити треба ввести команду git branch -a Після цього через git checkout можна перейти в любу гілку

Як завантажити локальний репо GitHub якщо там його ще нема.

  • Створити на GitHub новий репо.
  • Ввести команду git remote add origin "url" Що означає підключення віддаленого репо.
  • Але звязок усе ще не встановлено
  • Для звязку вводимо команду git push -u origin "branch" -u - 1; origin - 2; "branch" - 3
  • 1 - Це тільки при першому завантаженні гілки main
  • 2 - Назва віддаленого сервера. може це тепер main
  • 3 - Назва віддаленої гілки
  • Далі просто git push без "-u"

About

Список використаних матеріалів

  1. YouTube відкат комітів