diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..bd892c7 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,9 @@ +# 🧠 Як зробити внесок у DevLovers + +Дякуємо, що хочете зробити внесок у наш проєкт! Нижче описано кілька простих правил, які допоможуть вам підготувати якісний pull request. + +## 🔧 Формат доповнення + +- Кожне питання повинне бути оформлене в HTML-елементі `
` зі структурою: + +![Code](../assets/code.png) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..0ee92e0 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,5 @@ +# FUNDING.yml +# Налаштування можливостей підтримки проєкту + +github: ViktorSvertoka +buy_me_a_coffee: viktor.svertoka diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..a55f058 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ + + + + +Чекліст: + +- [ ] Я ознайомився з [CONTRIBUTING.md](CONTRIBUTING.md) і дотримувався вказівок. +- [ ] Моє доповнення не дублює вже існуюче питання чи відповідь. +- [ ] Я додав(ла) нове запитання у відповідному форматі (див. існуючі приклади). +- [ ] Я додав(ла) нове запитання **в кінець файлу** з **наступним за порядком номером**. + +--- + + + +... diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d0ebf91 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +#Junk +.DS_Store +.vscode/ +.idea/ \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..3fed313 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "printWidth": 80, + "useTabs": false, + "semi": true, + "singleQuote": true, + "trailingComma": "es5", + "bracketSpacing": true, + "arrowParens": "avoid", + "proseWrap": "always" +} diff --git a/LICENSE.txt b/LICENSE.txt index b39f12a..d23003e 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Frontend Lovers +Copyright (c) 2025 DevLovers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index a213310..b5fcdd4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# GIT GIT logo +# GIT GIT logo Вітаю! ✨ Цей репозиторій містить вичерпний конспект, який я створила під час проходження курсу Нікіти Тимошенка про [Git та GitHub](https://www.youtube.com/watch?v=9CnZihyYjjA&list=WL&index=2&t=1s) @@ -9,9 +9,9 @@ 📌 Раджу пройти сам [курс](https://www.youtube.com/watch?v=9CnZihyYjjA&list=WL&index=2&t=1s) та прочитати [конспект від Нікіти](https://github.com/NickTimosh/git_course/tree/main/notebooks) адже там багато корисного: -- детальний опис команд, -- практичні завдання, -- корисні посилання. +- детальний опис команд, +- практичні завдання, +- корисні посилання. ✨ А цей конспект допоможе вам перевірити, наскільки добре ви засвоїли отримані знання! 🚀 @@ -77,33 +77,33 @@
Що таке GUI? -- графічний інтерфейс користувача (Graphical User Interface) - - спосіб взаємодії користувача з комп'ютером із використанням графічних елементів (вікна, кнопки і тд) +- графічний інтерфейс користувача (Graphical User Interface) + - спосіб взаємодії користувача з комп'ютером із використанням графічних елементів (вікна, кнопки і тд)
Що таке Сommand Line? -- командний рядок - - текстовий інтерфейс для взаємодії з операційною системою - - простір, де вводяться текстові команди - - і тут же можуть викликатися і запускатися певні програми +- командний рядок + - текстовий інтерфейс для взаємодії з операційною системою + - простір, де вводяться текстові команди + - і тут же можуть викликатися і запускатися певні програми
Що таке термінал? -- програма або інструмент, який надає доступ до командного рядка (вікно, куди команди вводяться) +- програма або інструмент, який надає доступ до командного рядка (вікно, куди команди вводяться)
Що таке Shell? -- оболонка - - програма, яка виконує команди, введені у терміналі (інтерпретатор команд) +- оболонка + - програма, яка виконує команди, введені у терміналі (інтерпретатор команд)
@@ -117,9 +117,9 @@
Що таке Bash? -- один із типів оболонок (Shell) -- Bourne Again Shell (Bash) -- підтримується у Windows через Git Bash +- один із типів оболонок (Shell) +- Bourne Again Shell (Bash) +- підтримується у Windows через Git Bash
@@ -137,38 +137,38 @@
Що таке каталог (директорія)? -- структура, яка використовується для організації файлів у файловій системі +- структура, яка використовується для організації файлів у файловій системі
Що таке поточний каталог? -- папка, в якій користувач перебуває прямо зараз - - команди по замовчуванню виконуються у поточному каталозі +- папка, в якій користувач перебуває прямо зараз + - команди по замовчуванню виконуються у поточному каталозі
Що таке батьківський каталог? -- папка, що знаходиться на один рівень вища, за поточний +- папка, що знаходиться на один рівень вища, за поточний
Що таке домашній каталог? -- персональний каталог користувача - - Диск С —> Users —> User name (або USER) +- персональний каталог користувача + - Диск С —> Users —> User name (або USER)
Що таке кореневий каталог? -- початкова точка файлової системи - - найвищий рівень ієрархії каталогів +- початкова точка файлової системи + - найвищий рівень ієрархії каталогів
@@ -186,43 +186,43 @@
Що таке шлях (path)? -- адреси файлів у каталозі файлової системи +- адреси файлів у каталозі файлової системи
Які є два види шляхів до файлів? -- абсолютний -- відносний +- абсолютний +- відносний
Де починається абсолютний шях? -- з кореневого каталогу +- з кореневого каталогу
Що визначає відносний шях? -- розташування файлу по відношенню до поточного каталогу +- розташування файлу по відношенню до поточного каталогу
Що таке розширення файлів? -- частина назви файлу, що йде після крапки +- частина назви файлу, що йде після крапки
Для чого потрібне розширення файлів? -- для визначення типу файлу +- для визначення типу файлу
@@ -237,101 +237,101 @@
Яка команда відображає вміст всієї папки, у якій знаходиться користувач? -- ls +- ls
Яка команда дозволяє відобразити вміст каталогу відмінного від поточного? -- ls `path` (вказати шлях) +- ls `path` (вказати шлях)
Які типи шляхів це дозволяють? -- обидва: відносний та абсолютний +- обидва: відносний та абсолютний
Яка команда дозволяє повернути вмісти кореневого каталогу? -- ls / +- ls /
Яка команда дозволяє повернути вмісти батьківського каталогу? -- ls .. +- ls ..
Яка команда очищає вікно терміналу? -- clear +- clear
Як у Git Bash навігувати по командам, що вже були написані? -- стрілочка вгору (до попередніх команд) -- стрілочка вниз (до наступних команд, що були після попередніх) +- стрілочка вгору (до попередніх команд) +- стрілочка вниз (до наступних команд, що були після попередніх)
Що таке прапорці команд? -- додаткові опції команд +- додаткові опції команд
Як впроваджуються прапорці команд? -- через дефіси, які ми пишемо після команди +- через дефіси, які ми пишемо після команди
Який прапорець надає довідку? -- `комадна` --help +- `комадна` --help
Яка команда дозволяє повернути вміст всіх папок у довгому форматі (з прапорцем)? -- ls -l +- ls -l
Як вивести дані, які повертає команда у вигляді текстового файлу? -- `your_command` > file_name.extension +- `your_command` > file_name.extension
Яка команда дозволяє вивести вміст папок у вигляді текстового файлу? -- ls > `file_name.extension` - - наприклад, ls > output.txt +- ls > `file_name.extension` + - наприклад, ls > output.txt
Яка команда дозволяє вивести вміст папок у вигляді текстового файлу у довгому форматі? -- ls -l > `file_name.extension` - - наприклад, ls -l > output.txt +- ls -l > `file_name.extension` + - наприклад, ls -l > output.txt
@@ -346,70 +346,70 @@
Яка команда показує поточну директорію? -- pwd - - prind working directory +- pwd + - prind working directory
Що повертає ця команда? -- шлях до каталогу, у якому ми знаходимось +- шлях до каталогу, у якому ми знаходимось
Яка команда дозволяє змінити поточну директорію на домашній каталог користувача? -- cd - - change directory +- cd + - change directory
Як змінити поточну директорію на якусь конкретну іншу? -- cd `path` (вказати шлях) +- cd `path` (вказати шлях)
Яка команда повертає до батьківської директорії? -- cd .. +- cd ..
Яка команда створює нову папку? -- mkdir `directory_name` - - make directory +- mkdir `directory_name` + - make directory
Як створити одразу кілька папок у поточній директорії? -- mkdir `directory_name_1` `directory_name_2` -- якщо потрібні вкладені каталоги: - - mkdir -p dir1/dir2/dir3 +- mkdir `directory_name_1` `directory_name_2` +- якщо потрібні вкладені каталоги: + - mkdir -p dir1/dir2/dir3
Яка команда дозволяє скопіювати директорію до певної папки? -- cp -r `copy_directory to_directory` +- cp -r `copy_directory to_directory`
Яка команда дозволяє видалити директорію? -- rm -r `file_name` (рекурсивне видалення) -- якщо директорія містить файли: - - rm -rf directory_name +- rm -r `file_name` (рекурсивне видалення) +- якщо директорія містить файли: + - rm -rf directory_name
@@ -424,36 +424,36 @@
Яка команда створює файл? -- touch `file_name.extension` +- touch `file_name.extension`
Як команда дозволяє скопіювати файл і перенести його до іншої папки? -- cp `copy_file destination_directory/` - - copy +- cp `copy_file destination_directory/` + - copy
Яка команда дозволяє записати щось у файл? -- echo `print_something` > `in_file` +- echo `print_something` > `in_file`
Яка команда дозволяє повернути вміст файлу? -- cat `file_name` +- cat `file_name`
Яка команда дозволяє видалити файл? -- rm `file_name` +- rm `file_name`
@@ -466,20 +466,20 @@
Що таке Git? -- програмне забезпечення -- система контролю версій (VCS — version control system) - - відстежує зміни у файлах - - дає змогу повернутися до попередніх версій - - забезпечує зручну співпрацю команд +- програмне забезпечення +- система контролю версій (VCS — version control system) + - відстежує зміни у файлах + - дає змогу повернутися до попередніх версій + - забезпечує зручну співпрацю команд
Що пропонує Git? -- локальну базу даних -- синхронізацію з іншими серверами -- відновлення даних у разі збою +- локальну базу даних +- синхронізацію з іншими серверами +- відновлення даних у разі збою
@@ -502,15 +502,15 @@
Що робить звичайну папку локальним репозиторієм? -- папка .git +- папка .git
Яка команда ініціалізує репозиторій? -- git init - - після цієї команди з'являється папка .git і наша папка стала репозиторієм +- git init + - після цієї команди з'являється папка .git і наша папка стала репозиторієм
@@ -521,71 +521,71 @@
Як переконатися, що Git встановлено (яка команда)? -- git --version +- git --version
Яка команда дозволяє змінити налаштування (конфігурацію) Git? -- git config +- git config
Який прапорець дозволяє встановити зміни конфігурації для всіх репозиторіїв (теперішніх і майбутніх)? -- --global +- --global
Як встановити ім'я користувача у конфігурації? -- git config --global user.name `"your_name"` +- git config --global user.name `"your_name"`
Як встановити пошту (email) користувача у конфігурації? -- git config --global user.email `"your_email"` +- git config --global user.email `"your_email"`
Навіщо потрібно встановлювати ці налаштування? -- щоб git міг відслідковувати, хто автор змін +- щоб git міг відслідковувати, хто автор змін
Яка команда перелік всіх налаштувань конфігурації? -- git config --list +- git config --list
Яка команда дозволяє вивести всі папки, в тому числі приховані (трекінгові)? -- ls -a +- ls -a
Яка команда дозволяє перевірити статус статуси файлів? -- git status +- git status
Яка команда дозволяє отримати довідку? -- git --help -- git `your_command` --help (довідка для конкретної команди) +- git --help +- git `your_command` --help (довідка для конкретної команди)
@@ -596,36 +596,36 @@
Які три основні концепції git? -- коміти -- збереження усіх версій файлів -- гілки +- коміти +- збереження усіх версій файлів +- гілки
Що таке коміт? -- збереження файлу (його версії) -- інформація про те: - - хто зберіг - - коли зберіг - - що саме було зроблено -- можливість повернутися до попередніх версій файлів +- збереження файлу (його версії) +- інформація про те: + - хто зберіг + - коли зберіг + - що саме було зроблено +- можливість повернутися до попередніх версій файлів
Як зберігаються в комітах файли, в який не було жодних змін? -- зберігається **посилання** на вихідний файл +- зберігається **посилання** на вихідний файл
Який порядок локального збереження версій файлів? -- git add (staging area) -- git commit (committed area) +- git add (staging area) +- git commit (committed area)
@@ -639,17 +639,17 @@
Які шляхи вказання шляху до потрібної директорії (команда і два варіанти відображення шляху)? -- команда — **cd** -- відображення шляху: - - перетягти папку у вікно git bash (і шлях відобразиться, треба тільки cd на початку дописати) - - написати повністю шлях самостійно +- команда — **cd** +- відображення шляху: + - перетягти папку у вікно git bash (і шлях відобразиться, треба тільки cd на початку дописати) + - написати повністю шлях самостійно
Які каталоги git не відстежує? -- в яких немає файлів, або файлів, які ігноруються через .gitignore +- в яких немає файлів, або файлів, які ігноруються через .gitignore
@@ -664,22 +664,22 @@
Як додати усі файли однією командою у staging area? -- git add . +- git add .
Як додати один файл у staging area? -- git add `file_name` +- git add `file_name`
Як додати коротке повідомлення до коміту? -- git commit -m `"your_comment"` -- вказується коротко, які зміни зроблено +- git commit -m `"your_comment"` +- вказується коротко, які зміни зроблено
@@ -707,7 +707,7 @@
Як змінити текстовий редактор і встановити його основним (команда)? -- git config --global core.editor `"your_editor" +- git config --global core.editor `"your_editor"
@@ -716,36 +716,36 @@
Яка команда виводить перелік всіх комітів? -- git log +- git log
Який прапорець дозволяє вивести історію у більш компактному вигляді? -- --oneline -- повний варіант команди: git log --oneline +- --oneline +- повний варіант команди: git log --oneline
Яка команда (з прапорцем) дозволяє подивитися зміни комітів? -- git log -p +- git log -p
Як вийти з інтерактивного режиму (яка клавіша)? -- q (маленька) +- q (маленька)
Яка команда дозволяє подивитись відмінності у файлах (і всього репозиторію)? -- git diff (difference) +- git diff (difference)
@@ -758,29 +758,29 @@
Яка загальноприйнята практика формулювання повідомлень для комітів? -- наказова (імперативна) форма - - (add, write, remove, delete, change, fix etc.) +- наказова (імперативна) форма + - (add, write, remove, delete, change, fix etc.)
Як додати тіло коміту, щоб детальніше описати зміни (послідовність кроків)? -- не закривати лапки -- клікнути enter -- перейти на новий рядок -- продовжити писати -- закрити лапки -- enter (для відправки коміту) +- не закривати лапки +- клікнути enter +- перейти на новий рядок +- продовжити писати +- закрити лапки +- enter (для відправки коміту)
Як додати зміни так, щоб вони були частиною попереднього коміту, а не новоствореним комітом? -- git add . -- git commit --amend --no-edit (замість повідомлення) -- enter +- git add . +- git commit --amend --no-edit (замість повідомлення) +- enter
@@ -794,68 +794,68 @@
Як накопичувати зміни з різних файлів для одного коміту? -- внести зміни в різні файли та/або створити нові файли -- git add . (додаємо всі файли) -- git commit -m `"your_commit"` +- внести зміни в різні файли та/або створити нові файли +- git add . (додаємо всі файли) +- git commit -m `"your_commit"`
Як додати кілька файлів (не всі) за один раз до staging area? -- git add ` ` +- git add ` `
Як побачити різницю у файлах, що вже додані до staging area? -- git diff --chached +- git diff --chached
Як повернути файли зі staging area до working area? -- **після** git add але **до** git commit - - git restore --staged or path to file +- **після** git add але **до** git commit + - git restore --staged or path to file
Як подивитися, який саме невідстежуваний файл користувач планує видалити (який прапорець)? -- -n -- повна команда: git clean -n +- -n +- повна команда: git clean -n
Яка команда дозволяє видалити невідстежувані файли з git (з прапорцем)? -- git clean -f +- git clean -f
Яка команда дозволяє видалити невідстежувані файли і каталоги з git (з прапорцем)? -- git clean -fd - - **ця команда незворотна** +- git clean -fd + - **ця команда незворотна**
Яка команда дозволяє видалити відстежувані файли з індексу та робочого каталогу? -- git rm `` (remove) +- git rm `` (remove)
Яка команда дозволяє видалити відстежувані файли тільки з індексу, залишивши його у робочому каталозі (з прапорцем)? -- git rm --cached `` +- git rm --cached ``
@@ -868,15 +868,15 @@
Що зберігається в комітах? -- зміни, що були зроблені у файлах +- зміни, що були зроблені у файлах
Що має унікальне кожна нова версія файлів? -- "#" — хеш-код (як id) - - є унікальним для кожної версії файлу +- "#" — хеш-код (як id) + - є унікальним для кожної версії файлу
@@ -890,56 +890,56 @@
Яка команда дозволяє повернути закомічений файл (наприклад, після його видалення)? -- git restore `file_name` - - за замовчування звернення до останньої закоміченої версії файлу +- git restore `file_name` + - за замовчування звернення до останньої закоміченої версії файлу
Яка команда дозволяє дізнатися, що було змінено в тому чи іншому коміті (по id)? -- git show `commit_id` +- git show `commit_id`
Яка команда дозволяє повернутися до конкретної версії файлу (а не тільки останньої, по id)? -- git restore --source=`commit_id` `file_name` +- git restore --source=`commit_id` `file_name`
Яка команда дозволяє відмінити зміни, які вже були додані до staging area? -- git restore --staged `file_name` +- git restore --staged `file_name`
Яка команда дозволяє повернутися до попередньої (та/або конкретної версії всього проєкту)? -- git reset `прапорець` `HEAD або ID` -- `HEAD` — останній коміт -- `ID` — конкретний коміт з переліку попередніх +- git reset `прапорець` `HEAD або ID` +- `HEAD` — останній коміт +- `ID` — конкретний коміт з переліку попередніх
Які прапорці має ця команда і чим вони відрізняються? -- --hard — перезапише повністю до поточної версії, до якої ми звернемося (через id) і повністю видаляє всі зміни +- --hard — перезапише повністю до поточної версії, до якої ми звернемося (через id) і повністю видаляє всі зміни -- --soft — дозволяє зберегти внесені зміни (у staging) +- --soft — дозволяє зберегти внесені зміни (у staging) -- --mixed — **використовується за замовчуванням** +- --mixed — **використовується за замовчуванням** - - всі зміни, які були додані до staging area, будуть прибрані назад у робочу директорію - - тобто файли, які були в staging, знову стають "modified", але не видаляються + - всі зміни, які були додані до staging area, будуть прибрані назад у робочу директорію + - тобто файли, які були в staging, знову стають "modified", але не видаляються -- повні команди: - - git reset --hard `ID` - - git reset --soft `ID` +- повні команди: + - git reset --hard `ID` + - git reset --soft `ID`
@@ -952,7 +952,7 @@
Яка основна гілка проєкту? -- main (master) — різна назва, але значить одне й те саме +- main (master) — різна назва, але значить одне й те саме
@@ -968,41 +968,41 @@
Що таке HEAD? -- вказівник того, де ми знаходимось - - в якій гілці - - в якому коміті -- за замовчуванням знаходимося в останньому коміті -- кожна окрема гілка має свій HEAD +- вказівник того, де ми знаходимось + - в якій гілці + - в якому коміті +- за замовчуванням знаходимося в останньому коміті +- кожна окрема гілка має свій HEAD
Що означає "detached HEAD"? -- коли `HEAD` не вказує на останній коміт гілки, а вказує на конкретний коміт або тег +- коли `HEAD` не вказує на останній коміт гілки, а вказує на конкретний коміт або тег
За допомогою якої команди HEAD переходить у стан detached HEAD? -- git checkout `commit_hash` -- у цьому випадку `HEAD` вказує на той коміт, а не на гілку +- git checkout `commit_hash` +- у цьому випадку `HEAD` вказує на той коміт, а не на гілку
Що дає detached HEAD? -- У стані detached HEAD можна переглядати або тестувати код на певному коміті, але будь-які нові коміти, які будуть зроблені, не будуть пов'язані з жодною гілкою -- для збереження коміту, що був зроблений у цьому стані, потрібно створити нову гілку, щоб не втратити зміни +- У стані detached HEAD можна переглядати або тестувати код на певному коміті, але будь-які нові коміти, які будуть зроблені, не будуть пов'язані з жодною гілкою +- для збереження коміту, що був зроблений у цьому стані, потрібно створити нову гілку, щоб не втратити зміни
Як вийти зі стану "detached HEAD"? -- використати команду `git checkout `, де `` — це назва гілки, на якій ви хотіли б продовжити працювати +- використати команду `git checkout `, де `` — це назва гілки, на якій ви хотіли б продовжити працювати
@@ -1018,14 +1018,14 @@
Що таке конфлікти в git? -- ситуація, коли на одних і тих самих рядках, в одних і тим самих файлах вказані різні дані +- ситуація, коли на одних і тих самих рядках, в одних і тим самих файлах вказані різні дані
Що значить "вирішити конфлікт"? -- конкретне вказання git, які саме зміни мають бути внесені +- конкретне вказання git, які саме зміни мають бути внесені
@@ -1034,28 +1034,28 @@
Що значить merge? -- впровадити зміни до основої гілки (об'єднати всі додаткові гілки в main) +- впровадити зміни до основої гілки (об'єднати всі додаткові гілки в main)
Яка є альтернативна merge? -- rebase +- rebase
Що дозволяє робити ця альтернатива? -- інтегрувати зміни **після** останньої актуальної версії в main гілці +- інтегрувати зміни **після** останньої актуальної версії в main гілці
Які складнощі пов'язані з цим способом? -- перезапис id деяких комітів, що може викликати певні складнощі, якщо виникне потреба відновити якісь попереднії версії +- перезапис id деяких комітів, що може викликати певні складнощі, якщо виникне потреба відновити якісь попереднії версії
@@ -1071,112 +1071,112 @@
Яка команда виведе список всіх гілок? -- якщо потрібно побачити тільки локальні гілки - - git branch -- якщо потрібно побачити віддалені гілки - - git branch -r +- якщо потрібно побачити тільки локальні гілки + - git branch +- якщо потрібно побачити віддалені гілки + - git branch -r
Яка команда дозволяє створити нову гілку? -- git branch `branch_name` +- git branch `branch_name`
Яка команда дозволяє перемикатися між гілками? -- git checkout `branch_name` +- git checkout `branch_name`
Яка команда дозволяє створити і перемкнутися на гілку (одна команда — дві дії)? -- git checkout -b `branch_name` - - -b — від слова branch +- git checkout -b `branch_name` + - -b — від слова branch
Яка є альтернативна команда для зміни гілки? -- git switch `branch_name` +- git switch `branch_name`
Яка вона дозволяє за один крок створити гілку і одразу перемкнутися на неї (синтаксис команди)? -- git switch -b `branch_name` +- git switch -b `branch_name`
Яка різниця між цими двома варіантами команд? -- git switch: - - більш проста у розуміння і використанні - - використовується спеціально для перемикання (та/або для створення і перемикання) між гілками -- git checkout: - - більш універсальна - - використовується для: - - перемикання (та/або для створення і перемикання) між гілками - - зміни гілок - - відновлення файлів (скасування змін) - - перемикання між комітами +- git switch: + - більш проста у розуміння і використанні + - використовується спеціально для перемикання (та/або для створення і перемикання) між гілками +- git checkout: + - більш універсальна + - використовується для: + - перемикання (та/або для створення і перемикання) між гілками + - зміни гілок + - відновлення файлів (скасування змін) + - перемикання між комітами
В якій гілці ми маємо знаходитися перед тим, як зробити об'єднання гілок? -- в тій, в яку хочемо інтегрувати зміни (в цільовій) +- в тій, в яку хочемо інтегрувати зміни (в цільовій)
Яка команда дозволяє об'єднати гілки? -- git merge `branch_name` +- git merge `branch_name`
Назву якої гілки ми маємо писати у команді об'єднання? -- назву гілки, **яку об'єднуємо** з цільовою гілкою (тобто назву альтернативної, додаткової гілки) +- назву гілки, **яку об'єднуємо** з цільовою гілкою (тобто назву альтернативної, додаткової гілки)
Яка команда дозволяє тільки передати зміни, але не об'єднувати гілки? -- git fetch +- git fetch
Яка команда (з прапорцем) дозволяє видалити гілку? -- git branch -d `branch_name` -- git branch -D `branch_name` +- git branch -d `branch_name` +- git branch -D `branch_name`
Яка різниця між цими двома прапорцями? -- **-d** (soft delete) — не дозволить видалити гілку, яка ще не була передана до main (яка ще не інтегрована) -- **-D** (hard delete) — видалить гілку незалежно від того, чи вона вже інтегрована у main чи ще ні (безумовне видалення гілки) +- **-d** (soft delete) — не дозволить видалити гілку, яка ще не була передана до main (яка ще не інтегрована) +- **-D** (hard delete) — видалить гілку незалежно від того, чи вона вже інтегрована у main чи ще ні (безумовне видалення гілки)
--- -

GitHub

+# GitHub GIT logo

GitHub — основні концепції

@@ -1185,16 +1185,16 @@
Які бувають git-сховища? -- GitHub -- GitLab -- Bitbucket, Azure DevOps, SourceForge — також популярні віддалені репозиторії +- GitHub +- GitLab +- Bitbucket, Azure DevOps, SourceForge — також популярні віддалені репозиторії
Яке типове ім'я git? -- origin - стандартна назва для віддаленого репозиторію, але її можна змінювати +- origin - стандартна назва для віддаленого репозиторію, але її можна змінювати
@@ -1203,7 +1203,7 @@
Що передбачає концепція клонування? -- створення локальної копії віддаленого репозиторію на комп'ютері +- створення локальної копії віддаленого репозиторію на комп'ютері
@@ -1212,8 +1212,8 @@
Що передбачає концепція такого ключа? -- спосіб безпечного підключення по GitHub без введення пароля - - SSH-ключ складається з публічного та приватного ключа. Публічний ключ додається до GitHub, а приватний зберігається локально +- спосіб безпечного підключення по GitHub без введення пароля + - SSH-ключ складається з публічного та приватного ключа. Публічний ключ додається до GitHub, а приватний зберігається локально
@@ -1222,14 +1222,14 @@
Що передбачає концепція push? -- надсилання змін у віддалений репозиторій +- надсилання змін у віддалений репозиторій
Яка команда? -- git push +- git push
@@ -1238,14 +1238,14 @@
Що передбачає ця концепція? -- завантаження змін з віддаленого репозиторію +- завантаження змін з віддаленого репозиторію
Яка команда? -- git pull +- git pull
@@ -1254,15 +1254,15 @@
Що передбачає ця концепція? -- запит на злиття змін із однієї гілки в іншу -- часто використовується для перевірки коду +- запит на злиття змін із однієї гілки в іншу +- часто використовується для перевірки коду
Як називається перевірка коду іншим розробником? -- code review +- code review
@@ -1271,7 +1271,7 @@
Що передбачає ця концепція? -- копіювання репозиторію в акаунт користувача, що дозволяє експериментувати з кодом, не змінюючи оригінал +- копіювання репозиторію в акаунт користувача, що дозволяє експериментувати з кодом, не змінюючи оригінал
@@ -1280,15 +1280,15 @@
Що це за файл? -- файл документації, що зазвичай містить опис проєкту, інструкції з використання та іншу корисну інформацію +- файл документації, що зазвичай містить опис проєкту, інструкції з використання та іншу корисну інформацію
Що означає розширення **.md** -- формат markdown -- система форматування тексту +- формат markdown +- система форматування тексту
@@ -1297,7 +1297,7 @@
Що передбачає ця концепція? -- систему відстеження помилок, запитів на нові функції та обговорень у репозиторії +- систему відстеження помилок, запитів на нові функції та обговорень у репозиторії
@@ -1308,38 +1308,38 @@
Яка має бути назва репозиторію? -- унікальною в межах репозиторію +- унікальною в межах репозиторію
Які бувають типи репозиторіїв? -- публічні -- приватні +- публічні +- приватні
Що таке ліцензія? -- документ, у якому прописано, що можна, а що заборонено робити з репозиторієм (чи можна завантажувати код, перевикористовувати його у власних проєктах і тд) -- опис можливостей взаємодії з репозиторієм +- документ, у якому прописано, що можна, а що заборонено робити з репозиторієм (чи можна завантажувати код, перевикористовувати його у власних проєктах і тд) +- опис можливостей взаємодії з репозиторієм
Про що говорить ліцензія MIT? -- про те, що код і файли з репозиторію можна використовувати як завгодно без обмежень, але **обов'язково потрібно вказати авторство власника репозиторію, з якого беруться дані** +- про те, що код і файли з репозиторію можна використовувати як завгодно без обмежень, але **обов'язково потрібно вказати авторство власника репозиторію, з якого беруться дані**
Як можна додати файли у репозиторій? -- створити прямо на платформі у github -- завантажити з комп'ютера через командний рядок +- створити прямо на платформі у github +- завантажити з комп'ютера через командний рядок
@@ -1350,21 +1350,21 @@
Що таке .gitignore? -- файл, який використовується для того, щоб ігнорувати певні файли та папки в git. Файли і теки, додані в .gitignore не будуть додватись у коміти та потрапляти у репозиторій +- файл, який використовується для того, щоб ігнорувати певні файли та папки в git. Файли і теки, додані в .gitignore не будуть додватись у коміти та потрапляти у репозиторій
Яку папку ні в якому разі не можна додавати у репозиторій? -- node_module — тека, яка містить всі залежності, встановлені у проєкті +- node_module — тека, яка містить всі залежності, встановлені у проєкті
Якою командою можна завантажити цю папку, не завантажуючи її у репозиторій? -- npm install +- npm install
@@ -1375,21 +1375,21 @@
Що дає змогу робити кнопка "Watch" у репозиторії? -- слідкувати за змінами репозиторію +- слідкувати за змінами репозиторію
Що дає змогу зробити кнопка "Fork"? -- зробити повну копію репозиторію +- зробити повну копію репозиторію
Як використовується зірочка в репозиторіях? -- як елементи рейтингу +- як елементи рейтингу
@@ -1400,21 +1400,21 @@
Чи впливають зміни, внесені у скопійований репозиторій на оригінал? -- ніяким чином, це два окремі репозиторії +- ніяким чином, це два окремі репозиторії
У якій вкладці можна подивитися, хто зробив копію репозиторію? -- insights —> forks +- insights —> forks
Як можна змінити видимість репозиторію (яка вкладка і шлях)? -- settings —> general —> danger zone —> change repository visibility +- settings —> general —> danger zone —> change repository visibility
@@ -1425,29 +1425,29 @@
Що таке pull request? -- запит на об'єднання змін, які розробник вніс в код, з основною гілкою проєкту +- запит на об'єднання змін, які розробник вніс в код, з основною гілкою проєкту
Де розробник може вносити зміни віддалено без шкоди основному репозиторію (два варіанти)? -- створити окрему гілку (git branch -b `branch_name`) -- повністю скопіювати репозиторій (fork) +- створити окрему гілку (git branch -b `branch_name`) +- повністю скопіювати репозиторій (fork)
Яка вкладка відповідає за створення pull request? -- однойменна "Pull request" +- однойменна "Pull request"
Який статус повідомляє про те, що об'єднання можливе? -- able to merge +- able to merge
@@ -1465,17 +1465,17 @@
Яка вкладка відповідає за створення завдання? -- однойменна "Issues" +- однойменна "Issues"
Як можна створити задачу? -- натиснути на кнопку "New issue" -- ввести title — лаконічно пояснити, яка проблема виникла -- написати description (за потреби додати якісь додаткові матеріали) — запропонувати кілька рішень -- натиснути кнопку "create" +- натиснути на кнопку "New issue" +- ввести title — лаконічно пояснити, яка проблема виникла +- написати description (за потреби додати якісь додаткові матеріали) — запропонувати кілька рішень +- натиснути кнопку "create"
@@ -1494,17 +1494,17 @@ Які основні кроки? 1. **connection** — утворення зв'язку між git & github - 1. ssh-key + 1. ssh-key 2. **sync** — синхронізація того, що є на комп'ютері і того, що є на github - 1. **push** local to remote repo або - 2. **clone** remote to local repo + 1. **push** local to remote repo або + 2. **clone** remote to local repo 3. **pull** — завантажити собі останню актуальну версію проєкту (оновлення локального репо) 4. **branch** — створюємо нову гілку 5. **commit** — передаємо зміни з гілки до локального репо 6. **push** — відправляємо всю гілку зі змінами до віддаленого репо 7. **pull request** — інформація про зміни, які ми плануємо передати до main - 1. code review - 2. merge + 1. code review + 2. merge 8. повторюємо цикл з пункту три
@@ -1516,14 +1516,14 @@
Що таке ssh-ключ? -- файл, який має зберігати приватний ключ на комп'ютері та одночасно публічний ключ на github +- файл, який має зберігати приватний ключ на комп'ютері та одночасно публічний ключ на github
У якій вкладці ці ключі зберігаються на github? -- profile settings —> SSH and GPG keys +- profile settings —> SSH and GPG keys
@@ -1538,7 +1538,7 @@
Скільки разів має створюватися цей ключ? -- один раз на одну машину +- один раз на одну машину
@@ -1552,58 +1552,58 @@ Яка послідовність ініціалізацї, комітів та додавання файлів до локального репо (крок — команда)? 1. ініціалізація репозиторію - 1. git init + 1. git init 2. додати файли до staging area - 1. git add . + 1. git add . 3. зробити коміт - 1. git commit -m `"Initial commit"` + 1. git commit -m `"Initial commit"` 4. перевірка статусу (за потреби) - 1. git status + 1. git status
Яка команда дозволяє відправити зміни на github? -- git remote add origin `repo_link` (https or ssh) +- git remote add origin `repo_link` (https or ssh)
Що означає "origin"? -- використовується як псевдонім до посилання +- використовується як псевдонім до посилання
Звідки можна взяти посилання на repo? -- з github - - при створення порожнього репозиторію це вікно відкривається по дефолту з детальним описом, як віддалений репозиторій підв'язати до локального +- з github + - при створення порожнього репозиторію це вікно відкривається по дефолту з детальним описом, як віддалений репозиторій підв'язати до локального
Яка команда дозволяє відправити весь код з локальної машини на віддалений репозиторій після об'єднання цих репозиторіїв? -- git push -u origin main -- -u — від слова "upstream" +- git push -u origin main +- -u — від слова "upstream"
За що відповідає upstream? -- повідомляє github з якої гілки брати зміни та/або в яку гілку зміни завантажувати - - Upstream гілка — це віддалена гілка, до якої підключено локальну гілку для відправки та отримання змін +- повідомляє github з якої гілки брати зміни та/або в яку гілку зміни завантажувати + - Upstream гілка — це віддалена гілка, до якої підключено локальну гілку для відправки та отримання змін
Яка команда дозволяє перейменувати головну гілку (з master на main)? -- git branch -M main +- git branch -M main
@@ -1614,16 +1614,16 @@
Яка команда дозволяє відправити на віддалений репозиторій гілку, яка була створено локально? -- git push --set -upstream origin `branch_name` - - зазвичай git одразу пропонує цю команду за замовчування після команди push, тому залишається тільки скопіювати її і вставити в термінал +- git push --set -upstream origin `branch_name` + - зазвичай git одразу пропонує цю команду за замовчування після команди push, тому залишається тільки скопіювати її і вставити в термінал
Що робить --set upstream? -- встановлює гілку на віддаленому репозиторії origin - - --set-upstream встановлює зв'язок між локальною і віддаленою гілкою для автоматичної синхронізації +- встановлює гілку на віддаленому репозиторії origin + - --set-upstream встановлює зв'язок між локальною і віддаленою гілкою для автоматичної синхронізації
@@ -1641,22 +1641,22 @@
За допомогою якої команди можна скопіювати репозиторій собі локально? -- git clone `repo_link` (https or ssh) +- git clone `repo_link` (https or ssh)
Яка різниця між використання https та ssh посилання? -- https вимагає явної авторизації -- з ssh ключем проводиться неявна авторизація (немає потреби кожен раз вводити логін і пароль для підтвердження) +- https вимагає явної авторизації +- з ssh ключем проводиться неявна авторизація (немає потреби кожен раз вводити логін і пароль для підтвердження)
Яка команда дозволяє відобразити які локальні гілки пов'язані з віддаленими гілками? -- git branch -vv -- також ця команда показує інформацію про останні коміти в цих гілках +- git branch -vv +- також ця команда показує інформацію про останні коміти в цих гілках
diff --git a/SECURITY.md b/SECURITY.md index c9837a0..d684931 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -5,16 +5,16 @@ If you discover a security issue in any of my projects, I would greatly appreciate your help in resolving it responsibly. Here's how you can report it: 1. **Contact me:** - Please send an email to **[frontendlovers@gmail.com](mailto:frontendlovers@gmail.com)** with: + Please send an email to **[devlovers.net@gmail.com](mailto:devlovers.net@gmail.com)** with: - - A clear description of the issue. - - Steps to reproduce the vulnerability. - - Any relevant code or logs for better understanding. + - A clear description of the issue. + - Steps to reproduce the vulnerability. + - Any relevant code or logs for better understanding. 2. **Handling process:** - - I will acknowledge your report within **48 hours**. - - Together, we will work on resolving the issue as quickly as possible. + - I will acknowledge your report within **48 hours**. + - Together, we will work on resolving the issue as quickly as possible. 3. **Confidentiality:** Please keep the details of the vulnerability private until it has been resolved. diff --git a/assets/code.png b/assets/code.png new file mode 100644 index 0000000..fc42a55 Binary files /dev/null and b/assets/code.png differ diff --git a/assets/git-icon-logo-svgrepo-com.svg b/assets/git.svg similarity index 100% rename from assets/git-icon-logo-svgrepo-com.svg rename to assets/git.svg diff --git a/assets/github-icon-1-logo-svgrepo-com.svg b/assets/github.svg similarity index 100% rename from assets/github-icon-1-logo-svgrepo-com.svg rename to assets/github.svg