Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit af24018

Browse files
Merge pull request #9 from DevLoversTeam/develop
Develop
2 parents df83b23 + fff7ac0 commit af24018

File tree

1 file changed

+327
-1
lines changed

1 file changed

+327
-1
lines changed

‎README.md‎

Lines changed: 327 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1740,7 +1740,333 @@ IntelliJ, Meld).
17401740
</details>
17411741

17421742
<details>
1743-
<summary>61. ???</summary>
1743+
<summary>61. Як налаштувати ім’я користувача та email у Git?</summary>
1744+
1745+
#### GIT
1746+
1747+
- Для глобальних налаштувань (усі репозиторії):
1748+
1749+
```bash
1750+
git config --global user.name "Ваше Ім’я"
1751+
git config --global user.email "ваш@email.com"
1752+
```
1753+
1754+
- Для конкретного репозиторію (тільки в поточному):
1755+
1756+
```bash
1757+
git config user.name "Ваше Ім’я"
1758+
git config user.email "ваш@email.com"
1759+
```
1760+
1761+
- Перевірка:
1762+
1763+
```bash
1764+
git config --list
1765+
```
1766+
1767+
Email важливий для зв’язку комітів з GitHub/GitLab профілем.
1768+
1769+
</details>
1770+
1771+
<details>
1772+
<summary>62. Які рівні конфігурації Git існують і яка їхня область дії?</summary>
1773+
1774+
#### GIT
1775+
1776+
- Git має три рівні конфігурації:
1777+
1778+
1. **System** (/etc/gitconfig) – застосовується для всіх користувачів і всіх
1779+
репозиторіїв на машині.
1780+
1781+
```bash
1782+
git config --system ...
1783+
```
1784+
1785+
2. **Global** (~/.gitconfig або ~/.config/git/config) – застосовується для
1786+
поточного користувача на всіх його репозиторіях.
1787+
1788+
```bash
1789+
git config --global ...
1790+
```
1791+
1792+
3. **Local** (.git/config у корені репозиторію) – застосовується лише для цього
1793+
репозиторію. Має найвищий пріоритет.
1794+
1795+
```bash
1796+
git config ...
1797+
```
1798+
1799+
Пріоритет: local > global > system.
1800+
1801+
</details>
1802+
1803+
<details>
1804+
<summary>63. Як у Git створити alias (псевдонім) для команди?</summary>
1805+
1806+
#### GIT
1807+
1808+
Псевдоніми додають через git config. Наприклад:
1809+
1810+
- Глобально (для всіх репозиторіїв):
1811+
1812+
```bash
1813+
git config --global alias.st status
1814+
git config --global alias.co checkout
1815+
git config --global alias.br branch
1816+
git config --global alias.cm "commit -m"
1817+
```
1818+
1819+
- У конкретному репозиторії:
1820+
1821+
```bash
1822+
git config alias.lg "log --oneline --graph --all --decorate"
1823+
```
1824+
1825+
Після цього можна виконувати, наприклад:
1826+
1827+
```bash
1828+
git st
1829+
git co main
1830+
git lg
1831+
```
1832+
1833+
Зберігаються псевдоніми у файлі ~/.gitconfig або .git/config.
1834+
1835+
</details>
1836+
1837+
<details>
1838+
<summary>64. Для чого використовується файл .gitignore у Git?</summary>
1839+
1840+
#### GIT
1841+
1842+
- `.gitignore` визначає, які файли й папки Git має ігнорувати — тобто не
1843+
відстежувати і не додавати у коміти.
1844+
1845+
#### Використовується для:
1846+
1847+
- тимчасових файлів (логів, кешів, .DS_Store, thumbs.db);
1848+
1849+
- залежностей (node_modules/, vendor/);
1850+
1851+
- згенерованих артефактів (білди, coverage-звіти);
1852+
1853+
- локальних конфігів (наприклад, .env).
1854+
1855+
Важливо: .gitignore не видаляє файли, які вже відстежуються Git, лише забороняє
1856+
додавати нові.
1857+
1858+
</details>
1859+
1860+
<details>
1861+
<summary>65. Як налаштувати глобальний .gitignore, щоб ігнорувати файли у всіх репозиторіях?</summary>
1862+
1863+
#### GIT
1864+
1865+
1. Створити глобальний файл, наприклад:
1866+
1867+
```bash
1868+
touch ~/.gitignore_global
1869+
```
1870+
1871+
2. Додати в нього правила (наприклад, IDE, системні файли):
1872+
1873+
```bash
1874+
.DS_Store
1875+
Thumbs.db
1876+
node_modules/
1877+
*.log
1878+
```
1879+
1880+
3. Прописати Git, щоб він його використовував:
1881+
1882+
```bash
1883+
git config --global core.excludesfile ~/.gitignore_global
1884+
```
1885+
1886+
4. Перевірити:
1887+
1888+
```bash
1889+
git config --list | grep excludesfile
1890+
```
1891+
1892+
Тепер усі нові репозиторії автоматично ігноруватимуть ці файли.
1893+
1894+
</details>
1895+
1896+
<details>
1897+
<summary>66. Як налаштувати Git для підпису комітів GPG-ключем?</summary>
1898+
1899+
#### GIT
1900+
1901+
1. Створити або імпортувати GPG-ключ
1902+
1903+
```bash
1904+
gpg --full-generate-key gpg --list-secret-keys --keyid-format=long
1905+
```
1906+
1907+
- Скопіювати GPG_KEY_ID.
1908+
1909+
2. Сказати Git, який ключ використовувати
1910+
1911+
```bash
1912+
git config --global user.signingkey GPG_KEY_ID git config --global
1913+
commit.gpgsign true # підписувати всі коміти
1914+
```
1915+
1916+
3. Опціонально — підписувати лише вибрані коміти
1917+
1918+
```bash
1919+
git commit -S -m "Signed commit"
1920+
```
1921+
1922+
4. Для GitHub/GitLab
1923+
1924+
- Вивести публічний ключ:
1925+
1926+
```bash
1927+
gpg --armor --export GPG_KEY_ID
1928+
```
1929+
1930+
- Додати його в налаштування акаунта (GPG keys).
1931+
1932+
5. Перевірка
1933+
1934+
```bash
1935+
git log --show-signature
1936+
```
1937+
1938+
6. У VS Code потрібно додати в settings.json:
1939+
1940+
```json
1941+
"git.enableCommitSigning": true
1942+
```
1943+
1944+
</details>
1945+
1946+
<details>
1947+
<summary>67. Які найпоширеніші практики безпеки при роботі з Git-репозиторіями?</summary>
1948+
1949+
#### GIT
1950+
1951+
1. **SSH-ключі замість паролів** – для автентифікації з віддаленими
1952+
репозиторіями.
1953+
1954+
2. **GPG-підпис комітів** – гарантія авторства і цілісності коду.
1955+
1956+
3. **.gitignore для секретів** – не зберігати .env, ключі, паролі в репозиторії.
1957+
1958+
4. **Сканування на секрети** (наприклад, GitGuardian, TruffleHog) перед пушем.
1959+
1960+
5. **Обмеження доступу** – мінімальні права (read/write), захищені гілки
1961+
(protected branches).
1962+
1963+
6. **Pull Request review** – код потрапляє в main тільки після рев’ю.
1964+
1965+
7. **CI/CD з секретним сховищем** (Vault, GitHub Actions Secrets) замість
1966+
hardcode.
1967+
1968+
8. **Регулярне оновлення залежностей** – щоб уникнути вразливостей.
1969+
1970+
Головне правило: ніколи не зберігати у Git секретні дані у відкритому вигляді.
1971+
1972+
</details>
1973+
1974+
<details>
1975+
<summary>68. Які способи існують для зберігання конфіденційних даних у Git-репозиторії у зашифрованому вигляді?</summary>
1976+
1977+
#### GIT
1978+
1979+
1. `git-crypt` – прозоре шифрування вибраних файлів у репозиторії (розшифровка
1980+
тільки для користувачів із ключами).
1981+
1982+
2. `git-secre`t – базується на GPG, дозволяє шифрувати .env, ключі та інші
1983+
секрети.
1984+
1985+
3. `SOPS (Mozilla SOPS)` – зручний інструмент для керування секретами (AES +
1986+
інтеграція з AWS KMS, GCP KMS, HashiCorp Vault).
1987+
1988+
4. `BlackBox (StackExchange)` – управління зашифрованими файлами в репозиторіях.
1989+
1990+
5. `Зберігати секрети поза Git` – у менеджерах секретів (Vault, AWS Secrets
1991+
Manager, Doppler), а в репозиторії залишати лише посилання/шаблони
1992+
(.env.example).
1993+
1994+
📌 На практиці: для фронтенд/.NET проєкту зручніше або git-secret + GPG, або
1995+
SOPS, якщо інфраструктура в AWS/GCP.
1996+
1997+
</details>
1998+
1999+
<details>
2000+
<summary>69. Які існують стратегії зберігання та керування обліковими даними (credentials) у Git?</summary>
2001+
2002+
#### GIT
2003+
2004+
1. Credential helpers Git
2005+
2006+
- `cache` — тимчасове збереження у пам’яті.
2007+
2008+
- `store` — збереження у відкритому вигляді у файлі (небезпечний варіант).
2009+
2010+
- `manager` (Windows) або `osxkeychain` (macOS) — інтеграція з системним
2011+
менеджером паролів.
2012+
2013+
2. SSH-ключі
2014+
2015+
- Основний безпечний метод для GitHub/GitLab.
2016+
2017+
- Використання `ssh-agent` для зручності.
2018+
2019+
3. Персональні токени доступу (PAT)
2020+
2021+
- Альтернатива паролям (наприклад, для GitHub).
2022+
2023+
- Краще зберігати через credential manager.
2024+
2025+
4. GPG-підпис
2026+
2027+
- Для підтвердження авторства комітів, не для аутентифікації.
2028+
2029+
5. Secrets Manager (AWS, Vault, Doppler і т.д.)
2030+
2031+
- Для CI/CD або автоматизації замість хардкоду.
2032+
2033+
📌 Найкраща практика: SSH-ключі для доступу + Credential Manager для зручності +
2034+
Secrets Manager для CI/CD.
2035+
2036+
</details>
2037+
2038+
<details>
2039+
<summary>70. Які способи є для скасування доступу користувачу до Git-репозиторію?</summary>
2040+
2041+
#### GIT
2042+
2043+
1. GitHub / GitLab / Bitbucket
2044+
2045+
- Власник або адміністратор видаляє користувача з collaborators або з
2046+
групи/команди.
2047+
2048+
- Можна змінити права доступу (read → none).
2049+
2050+
2. SSH-ключі
2051+
2052+
- Видалити публічний ключ користувача з налаштувань репозиторію або сервера.
2053+
2054+
3. Персональні токени (PAT)
2055+
2056+
- Відкликати або видалити токен у налаштуваннях акаунта.
2057+
2058+
4. CI/CD секрети
2059+
2060+
- Якщо користувач мав доступ до секретів (наприклад, у GitHub Actions), треба їх
2061+
відкликати/оновити.
2062+
2063+
Загальний принцип: відкликати доступ на рівні платформи (GitHub/GitLab) +
2064+
знеактивувати ключі/токени.
2065+
2066+
</details>
2067+
2068+
<details>
2069+
<summary>71. ???</summary>
17442070

17452071
#### GIT
17462072

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /