Skip to content

Commit a9d04e7

Browse files
Merge pull request #4 from DevLoversTeam/develop
Develop
2 parents 3196752 + 1c0a3a4 commit a9d04e7

File tree

1 file changed

+275
-1
lines changed

1 file changed

+275
-1
lines changed

README.md

Lines changed: 275 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,281 @@ git clone https://github.com/user/repo.git
305305
</details>
306306

307307
<details>
308-
<summary>11. ???</summary>
308+
<summary>11. Як ініціалізувати новий репозиторій Git?</summary>
309+
310+
#### GIT
311+
312+
- Використати команду:
313+
314+
```bash
315+
git init
316+
```
317+
318+
- Вона створює приховану папку .git у поточному каталозі, де зберігатиметься
319+
історія комітів, гілки та конфігурація.
320+
321+
- Далі треба додати файли й зробити перший коміт:
322+
323+
```bash
324+
git add .
325+
326+
git commit -m "Initial commit"
327+
```
328+
329+
Після git init каталог стає повноцінним Git-репозиторієм.
330+
331+
</details>
332+
333+
<details>
334+
<summary>12. Для чого використовується команда git status?</summary>
335+
336+
#### GIT
337+
338+
- Показує поточний стан робочого каталогу та індексу (staging area).
339+
340+
- Інформує про:
341+
342+
- Які файли змінені, але ще не додані.
343+
344+
- Які файли вже в індексі та підуть у наступний коміт.
345+
346+
- Які файли не відслідковуються.
347+
348+
- Поточну гілку та її відставання/випередження відносно remote.
349+
350+
#### Приклад:
351+
352+
```bash
353+
git status
354+
```
355+
356+
Дає зрозуміти, що саме буде закомічено, а що ще потребує git add.
357+
358+
</details>
359+
360+
<details>
361+
<summary>13. Яке призначення команди git add?</summary>
362+
363+
#### GIT
364+
365+
- `git add` додає зміни з робочого каталогу у staging area (індекс).
366+
367+
- Це підготовчий етап перед комітом.
368+
369+
- Можна додавати окремі файли або всі зміни.
370+
371+
#### Приклади:
372+
373+
```bash
374+
git add file.txt # додає конкретний файл
375+
git add . # додає всі зміни в поточному каталозі
376+
git add -p # додає зміни частинами (interactive)
377+
```
378+
379+
Сам `git add` ще не зберігає зміни в історії — тільки позначає їх для наступного
380+
`git commit`.
381+
382+
</details>
383+
384+
<details>
385+
<summary>14. Яким чином створюється новий коміт у Git?</summary>
386+
387+
#### GIT
388+
389+
1. Спочатку додати зміни у staging area:
390+
391+
```bash
392+
git add .
393+
```
394+
395+
2. Потім створити коміт:
396+
397+
```bash
398+
git commit -m "Опис змін"
399+
```
400+
401+
- Ключ -m додає повідомлення коміту.
402+
403+
- Якщо його не вказати — відкриється редактор для введення повідомлення.
404+
405+
- Коміт зберігає знімок (snapshot) поточного стану індексу в історії
406+
репозиторію.
407+
408+
Рекомендується писати короткі й зрозумілі повідомлення, щоб легко відстежувати
409+
зміни.
410+
411+
</details>
412+
413+
<details>
414+
<summary>15. Які дані зберігає об’єкт коміту в Git?</summary>
415+
416+
#### GIT
417+
418+
- Об’єкт коміту містить:
419+
420+
- Хеш (SHA-1/SHA-256) — унікальний ідентифікатор.
421+
422+
- Посилання на tree-об’єкт (структура файлів і папок на момент коміту).
423+
424+
- Посилання на parent-коміти (зв’язок в історії, може бути кілька у merge).
425+
426+
- Автор (ім’я, email, час створення).
427+
428+
- Комітер (той, хто зафіксував, може відрізнятися від автора).
429+
430+
- Commit message (опис змін).
431+
432+
Таким чином Git зберігає не файли, а знімки стану + метадані, що дозволяє легко
433+
відновлювати і порівнювати історію.
434+
435+
</details>
436+
437+
<details>
438+
<summary>16. Яка різниця між командами git push і git fetch?</summary>
439+
440+
#### GIT
441+
442+
- `git push` — відправляє локальні коміти у віддалений репозиторій (оновлює
443+
remote-branch).
444+
445+
- `git fetch` — отримує нові дані з віддаленого репозиторію, але не зливає їх у
446+
локальну гілку (оновлює тільки refs/remotes).
447+
448+
#### Тобто:
449+
450+
- `push` = викласти свої зміни.
451+
452+
- `fetch` = завантажити чужі зміни для перегляду/злиття.
453+
454+
</details>
455+
456+
<details>
457+
<summary>17. Яке призначення команди git pull?</summary>
458+
459+
#### GIT
460+
461+
- `git pull` = `git fetch` + `git merge` (або `rebase`, якщо вказано опцію).
462+
463+
- Вона завантажує останні зміни з віддаленого репозиторію і одразу інтегрує їх у
464+
поточну гілку.
465+
466+
- Використовується для синхронізації локальної гілки з remote.
467+
468+
#### Приклад:
469+
470+
```bash
471+
git pull origin main
472+
```
473+
474+
- Отримає оновлення з origin/main і зіллє їх у вашу локальну main.
475+
476+
Якщо потрібен лише перегляд змін без злиття — краще використовувати git fetch.
477+
478+
</details>
479+
480+
<details>
481+
<summary>18. Яке призначення та варіанти використання команди git branch?</summary>
482+
483+
#### GIT
484+
485+
- `git branch` керує гілками в репозиторії. Основні сценарії:
486+
487+
1. Перегляд усіх гілок:
488+
489+
```bash
490+
git branch
491+
```
492+
493+
2. Створення нової гілки:
494+
495+
```bash
496+
git branch feature/login
497+
```
498+
499+
3. Видалення гілки (локально):
500+
501+
```bash
502+
git branch -d feature/login # безпечне (якщо змерджено) git branch -D
503+
feature/login # примусове
504+
```
505+
506+
4. Перейменування гілки:
507+
508+
```bash
509+
git branch -m old-name new-name
510+
```
511+
512+
5. Перегляд віддалених гілок:
513+
514+
```bash
515+
git branch -r
516+
```
517+
518+
Важливо: `git branch` не перемикає гілки, а тільки створює/керує. Для
519+
перемикання використовується `git checkout` або `git switch`.
520+
521+
</details>
522+
523+
<details>
524+
<summary>19. Як використовувати git checkout для перемикання між гілками?</summary>
525+
526+
#### GIT
527+
528+
- Команда `git checkout <branch>` змінює поточну гілку на вказану, оновлюючи
529+
робочий каталог до стану цієї гілки.
530+
531+
#### Приклад:
532+
533+
```bash
534+
git checkout feature/login
535+
```
536+
537+
- Тепер HEAD вказує на feature/login, і всі файли відображають її стан.
538+
539+
**Створення нової гілки та одночасне перемикання:**
540+
541+
```bash
542+
git checkout -b feature/signup
543+
```
544+
545+
- Перевага: швидко працювати з різними гілками без втрати змін (якщо вони
546+
закомічені або у стейджі).
547+
548+
В сучасних workflow рекомендують `git switch` для перемикання гілок
549+
(`git switch feature/login`) — більш інтуїтивно.
550+
551+
</details>
552+
553+
<details>
554+
<summary>20. Для чого використовується команда git merge?</summary>
555+
556+
#### GIT
557+
558+
- `git merge <branch>` об’єднує зміни з іншої гілки у поточну.
559+
560+
- Застосовується для інтеграції роботи над фічами або виправленнями в основну
561+
гілку (main/develop).
562+
563+
#### Типи злиття:
564+
565+
- `Fast-forward` — просто переміщує вказівник гілки, якщо історія лінійна.
566+
567+
- `Three-way merge` — створює новий коміт злиття, якщо гілки розходяться.
568+
569+
#### Приклад:
570+
571+
```bash
572+
git checkout main git merge feature/login
573+
```
574+
575+
- Після цього всі зміни з feature/login будуть в main.
576+
577+
Merge дозволяє безпечно інтегрувати паралельні гілки без втрати історії.
578+
579+
</details>
580+
581+
<details>
582+
<summary>21. ???</summary>
309583

310584
#### GIT
311585

0 commit comments

Comments
 (0)