{"id":19531288,"url":"https://github.com/zolotyh-dk/git-cheat-sheet","last_synced_at":"2026-05-13T01:31:24.313Z","repository":{"id":215276368,"uuid":"738532952","full_name":"zolotyh-dk/git-cheat-sheet","owner":"zolotyh-dk","description":"Яндекс.Практикум: «Основы работы с Git». Краткий конспект","archived":false,"fork":false,"pushed_at":"2024-01-05T12:02:39.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T03:19:54.467Z","etag":null,"topics":["command-line","git","github","yandex-praktikum"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zolotyh-dk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-03T12:53:40.000Z","updated_at":"2024-01-03T13:38:57.000Z","dependencies_parsed_at":"2024-01-05T12:23:42.056Z","dependency_job_id":null,"html_url":"https://github.com/zolotyh-dk/git-cheat-sheet","commit_stats":null,"previous_names":["zolotyh-dk/git-cheat-sheet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zolotyh-dk/git-cheat-sheet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolotyh-dk%2Fgit-cheat-sheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolotyh-dk%2Fgit-cheat-sheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolotyh-dk%2Fgit-cheat-sheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolotyh-dk%2Fgit-cheat-sheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zolotyh-dk","download_url":"https://codeload.github.com/zolotyh-dk/git-cheat-sheet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolotyh-dk%2Fgit-cheat-sheet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32963803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"ssl_error","status_checked_at":"2026-05-12T23:30:18.191Z","response_time":102,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","git","github","yandex-praktikum"],"created_at":"2024-11-11T01:42:07.319Z","updated_at":"2026-05-13T01:31:24.293Z","avatar_url":"https://github.com/zolotyh-dk.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cамая удобная шпаргалка по работе с Git\n\n## 1. Командная строка\n\n### 1.1 Навигация в командной строке\n**Домашняя директория** (англ. home directory) — каталог с файлами пользователя. Обычно здесь хранится такая информация, как загрузки, медиа, скриншоты и так далее.\n\n`pwd` (от англ. print working directory — «показать рабочую папку») - выводит путь к текущей директории.\n\n`cd` (от англ. change directory — «сменить директорию»).\n\n`cd` и символ `~` — перейти к домашней директории.\n\nДопустим, вы находитесь в директории `/projects`. Если ввести команду `cd github`, она перенесёт вас в директорию `/projects/github`.\n\nЕсли в названии папки есть пробелы, при вводе нужно использовать кавычки.\n\n```bash\n$ cd \"Фотографии с дня рождения\"\n```\n\nЧтобы вернуться в **родительскую директорию** — то есть на уровень выше, — вместо названия папки нужно написать две точки: `..`.\n\n```bash\n$ pwd\n/projects/github # сейчас мы здесь\n\n$ cd .. # переходим на уровень выше\n\n$ pwd\n/projects # мы вернулись!\n```\n\n`ls` (от англ. list directory contents — «отобразить содержимое директории»).\n\n`ls` с флагом `-a` выведет расширенный список. В нём отобразятся все скрытые файлы, которые начинаются с символа `.` (например, файлы конфигурации).  В том числе два особых файла `.` и `..`, которые обозначают текущую и родительскую директории.\n\n```bash\n$ ls # вывели список файлов\nfile.txt\nphoto.png\n\n$ ls -a # вывели список, в котором отображаются скрытые файлы ., .. и .git\n.\n..\n.git\nfile.txt\nphoto.png\n```\n\n### 1.2 Создание, копирование, перемещение\n\n#### Создание файлов и директорий — touch, mkdir\n\n`touch` (англ. «коснуться») с именем файла в качестве параметра - создание файла\n\n```bash\n$ touch my-new-file.txt # создали файл my-new-file.txt\n```\n\n`mkdir` (от англ. make directory — «создать директорию») - создание директории\n\n```bash\n$ mkdir new-dir # создали директорию new-dir\n```\n\n`mkdir` с флагом `-p` - создание структуры директорий\n\n```bash\n$ mkdir -p dir1/dir-inside/dir-deeper-inside\n# создали папку dir-deeper-inside в папке dir-inside, которая находится в папке dir1\n```\n\n#### Копирование файлов — cp\n\n`cp` (от англ. copy — «копировать») - копирования файлов\n\nВ простом виде `cp` принимает два параметра: `что копируем` и `куда копируем`.\n\n```bash\n$ cp index.html src/\n# скопировали index.html в папку src\n```\n\nНо можно указать сразу несколько файлов.\n\n```bash\n$ cp что_копируем что_копируем что_копируем куда_копируем\n\n$ cp index.html style.css script.js src/\n# скопировали три файла (index.html, style.css и script.js) в папку src\n```\n\n#### Перемещение файлов и папок — mv\n\nСинтаксис команды `mv` аналогичен синтаксису `cp`. После имени команды указывают список файлов и папок, которые нужно переместить, а затем — папку, в которую нужно выполнить перемещение.\n\n```bash\n$ mv table.csv ./very-important-files\n# сначала указываем имя файла, который хотим переместить, потом путь — куда перемещаем \n```\n\n### 1.3 Чтение и удаление\n\n#### Чтение файлов — cat\n\n`cat` (от англ. concatenate and print — «объединить и распечатать») - распечатывает файл в консоль. После команды нужно ввести имя файла.\n\nКоманда `cat` работает только с текстовыми файлами.\n\n#### Удаление файлов и папок — rm, rmdir, rm -r\n\n`rm` (от англ. remove — «удалить») - удаляет файл.\n\n```bash\n$ rm example.txt # удалили файл example.txt из текущей папки\n```\n\n`rmdir` (от англ. remove directory — «удалить директорию») - удаляет папку.\n\n```bash\n$ rmdir images # команда удалит папку images из текущей директории, \n               # если папка images пуста\n```\n\nЕсли в папке, которую вы пытаетесь стереть, есть какие-то файлы, то командная строка не удалит её и выведет сообщение о том, что папка не пуста (англ. `Directory not empty`).\n\n`rm -r` (`-r` — от англ. recursive, «рекурсивный») рекурсивно удаляет файлы и папки.\n\nЭто значит, что удаление будет последовательно применяться к каждому из элементов в этой папке — пока не сотрёт их все. Затем команда удалит пустую директорию.\n\n### 1.4 Работа с файлом настройки .gitconfig\n\nЧтобы участникам проекта было понятно, кто и какие изменения вносил, нужно указать имя пользователя и адрес электронной почты.\n\n`git config` (от англ. *configuration —* «конфигурация», «настройка») с ключом `--global` (англ. «глобальный»)\n\n```bash\n$ git config --global user.name \"User Namovich\" \n# имя или ник нужно написать латиницей и в кавычках\n\n$ git config --global user.email username@yandex.ru\n# здесь нужно указать свой настоящий email\n```\n\nВсе глобальные настройки Git хранит в файле `.gitconfig` в домашней директории.\n\n```bash\n$ cat ~/.gitconfig\n```\n\nДругой способ проверки — вывести содержимое файла конфигурации Git той же командой `git config` с флагом `--list` (англ. «список»).\n\n```bash\n$ git config --list\n```\n\n## 2. Первый коммит\n\n### 2.1 Инициализируем репозиторий\n\n#### Сделать папку репозиторием — git init\n\nЧтобы Git начал отслеживать изменения в проекте, папку с файлами этого проекта нужно сделать **Git-репозиторием** (от англ. *repository* — «хранилище»).  Для этого следует переместиться в неё и ввести команду `git init` (от англ. ***init**ialize* — «инициализировать»).\n\n```bash\n$ cd ~/dev/first-project # перешли в нужную папку\n\n$ git init # создали репозиторий\n```\n\n#### «Разгитить» папку, если что-то пошло не так, — rm -rf .git\n\nЕсли вы случайно сделали Git-репозиторием не ту папку, её можно «разгитить». Для этого нужно удалить скрытую подпапку `.git`.\n\n```bash\n$ cd \u003cпапка с репозиторием\u003e # перешли в папку\n\n$ rm -rf .git # удалили подпапку .git\n```\n\nРазберём подробнее, что такое `-rf`:\n\n- ключ `r` (от англ. recursive — «рекурсивно») позволяет удалять папки вместе с их содержимым;\n- ключ `f` (от англ. force — «заставить») избавит вас от вопросов вроде «Вы точно хотите удалить этот файл? А этот? И этот тоже?».\n\n#### Проверить состояние репозитория — git status\n\n`git status` (от англ. status — «статус», «состояние») — показывает текущее состояние репозитория.\n\n### 2.2 Добавляем файлы в репозиторий\n\n`git add --all` (от англ. add — «добавить» + от англ. all — «всё»). Ключ, или флаг, `--all` позволяет подготовить к сохранению все файлы в репозитории.\n\n```bash\n$ git add --all # подготовили к сохранению все файлы в репозитории\n$ git status # проверили статус\n```\n\nДобавлять файлы можно и по одному, без ключа `--all`.\n\n```bash\n$ git add todo.txt\n$ git add readme.txt\n```\n\nТакже можно добавить текущую папку целиком — в этом случае все файлы в ней тоже будут добавлены. Обратиться к текущей папке в Bash позволяет точка (`.`).\n\n```bash\n$ git add . # добавить всю текущую папку\n```\n\n### 2.3 Делаем первый коммит\n\nСделать коммит можно командой `git commit` c ключом `-m` (от англ. message — «сообщение»), который присваивает коммиту сообщение.\n\nОбычно в таком сообщении поясняется, в чём именно состояли изменения.\n\n```bash\n$ git commit -m 'Мой первый коммит!'\n```\n\nКоманда `git commit` выведет информацию о коммите.\n\n- `[master (root-commit) baa3b6e]` значит:\n    - коммит был в ветке `master`;\n    - `root-commit` — это самый первый, или «корневой» (англ. root), коммит в ветке, у следующих коммитов такой надписи не будет;\n    - `baa3b6e` — сокращённый идентификатор коммита (подробнее об этом мы ещё расскажем).\n- `2 files changed, 1 insertion(+)` значит:\n    - изменились два файла (`readme.txt` и `todo.txt`);\n    - одна строка была добавлена (`1. Пройти пару уроков по Git.`).\n- Строки вида `create mode 100644 readme.txt` — это более подробная информация о новых (добавленных в Git) файлах.\n    - `create` (англ. «создать») говорит, что файл был создан. Если бы файл был удалён, на этом месте было бы слово `delete` (англ. «удалить»).\n    - `mode 100644` сообщает, что это обычный файл. Также возможны варианты `100755` для исполняемых файлов (например, `что-нибудь.exe`) и `120000` для файлов-ссылок в Linux. Файлы-ссылки не содержат данных сами по себе, а только ссылаются на другие файлы — как «ярлыки» в Windows.\n\t\n### 2.4 Просматриваем историю коммитов\n\n`git log` (от англ. *log* — «журнал») - показывет историю коммитов.\n\nПо умолчанию `git log` выводит коммиты в обратном хронологическом порядке — последние коммиты оказываются первыми сверху.\n\n## 3. Синхронизация репозиториев\n\n### 3.1 Что такое SSH. Генерируем SSH-ключ\n\n#### Что такое SSH\n\n**SSH** (от англ. Secure Shell Protocol) - один из наиболее распространённых сетевых протоколов.\n\nОн обеспечивает безопасный обмен данными в сети. С помощью этого протокола можно получать данные с удалённого компьютера или отправлять их на него. Трафик шифруется, поэтому протокол безопасен.\n\nSSH использует пару ключей для обеспечения безопасности — публичный и приватный:\n\n- **Приватный ключ** (англ. *private key*) хранится только на вашем компьютере и не должен передаваться кому-либо ещё. Он используется для расшифровки данных.\n- **Публичный ключ** (англ. *public key*) доступен всем и используется для шифрования данных. Они могут быть расшифрованы парным приватным ключом.\n\nТолько вы можете расшифровать данные с помощью приватного ключа, но любой владелец публичного ключа может их для вас зашифровать. Эти два ключа связаны и образуют **SSH-пару**.\n\n#### Проверка наличия SSH-ключа\n\nПо умолчанию директория с SSH-ключами находится в домашней директории пользователя.\n\n```bash\n$ cd ~ # перешли в домашнюю директорию\n$ ls -la .ssh/ # вывели список созданных ключей\n```\n\nЕсли папка пустая или её нет, всё в порядке.\n\nЕсли есть файлы с похожими названиями, SSH-ключи уже создавались:\n\n- `id_dsa.pub`;\n- `id_ecdsa.pub`;\n- `id_ed25519.pub`;\n- `id_rsa.pub`.\n\n#### Инструкция по генерации SSH-ключа\n\n1. Для генерации SSH-пары можно использовать программу `ssh-keygen`. Откройте терминал и введите следующую команду.\n\n```bash\n$ ssh-keygen -t ed25519 -C \"электронная почта, к которой привязан ваш аккаунт на GitHub\"\n```\n\nЕсли вы видите сообщение об ошибке, то, скорее всего, ваша система не поддерживает алгоритм шифрования `ed25519`. Ничего страшного: используйте другой алгоритм.\n\n```bash\n$ ssh-keygen -t rsa -b 4096 -C \"электронная почта, к которой привязан ваш аккаунт на GitHub\"\n```\n\nПосле ввода отобразится такое сообщение.\n\n```bash\n\u003e Generating public/private rsa key pair. # сгенерированы публичный и приватный ключи\n```\n\n2. Укажите место хранения ключей. Простой вариант — сделать домашний каталог пользователя путём по умолчанию. Для этого нажмите `Enter`.\n3. Программа запросит **кодовую фразу** (англ. passphrase) для доступа к SSH-ключу. Вы можете оставить поле пустым. Для этого нажмите `Enter`, а затем ещё раз `Enter` для подтверждения.\n\n```bash\n\u003e Enter passphrase (empty for no passphrase): [Type a passphrase]\n\u003e Enter same passphrase again: [Type passphrase again]\n```\n\n4. Теперь осталось проверить, что ключи действительно сгенерировались. Для этого вызовите эту команду.\n\n```bash\nls -a ~/.ssh\n```\n\nНа экране должны появиться два файла — один с расширением `.pub`, другой — без. Файл в `.pub` — публичный, им можно делиться с веб-сайтами или коллегами. Файл без расширения `.pub` — приватный. Ни в коем случае не передавайте его никому!\n\n### 3.2 Привязываем SSH-ключ к GitHub\n\n1. Скопируйте содержимое файла с публичным ключом в буфер обмена.\n\n```bash\n# скопировать содержимое ключа в буфер обмена:\n$ clip \u003c ~/.ssh/id_rsa.pub\n# для ed25519:\n$ clip \u003c ~/.ssh/id_ed25519.pub\n```\n\n2. Перейдите на GitHub и выберите пункт **Settings.** В меню слева нажмите на пункт **SSH and GPG keys**. В открывшейся вкладке выберите **New SSH key.** В поле **Title** напишите название ключа. Например, **Personal key.** В поле **Key type** должно быть **Authentication Key**.\n    \n    В поле **Key** скопируйте ваш ключ из буфера обмена.\n    \n3. Проверьте правильность ключа с помощью следующей команды.\n\n```bash\n$ ssh -T git@github.com\n```\n\n### 3.3 Связываем локальный и удалённый репозитории\n\n#### Привязать удалённый репозиторий к локальному — git remote add\n\nПерейдите на страницу удалённого репозитория, выберите тип `SSH` и скопируйте URL.\n\nОткройте консоль, перейдите в каталог локального репозитория и введите команду `git remote add` (от англ. *remote* — «удалённый» и *add* — «добавить»).\n\n```bash\n$ cd ~/dev/first-project\n$ git remote add origin git@github.com:%ИМЯ_АККАУНТА%/first-project.git\n```\n\nКоманде необходимо передать два параметра: имя удалённого репозитория и его URL. В качестве имени используйте слово `origin`. А URL вы скопировали со страницы удалённого репозитория.\n\n`origin` (англ. «источник») — стандартный псевдоним, с помощью которого можно обращаться к главному удалённому репозиторию (обычно такой репозиторий один).\n\n#### Убедиться, что репозитории связаны, — git remote -v\n\n```bash\n$ git remote -v\norigin    git@github.com:%ИМЯ_АККАУНТА%/%ИМЯ-ПРОЕКТА%.git (fetch)\norigin    git@github.com:%ИМЯ_АККАУНТА%/%ИМЯ-ПРОЕКТА%.git (push)\n```\n\nФлаг `-v` — короткая форма флага `--verbose` (англ. «подробный»). Он позволяет показать больше информации в выводе.\n\n### 3.4 Синхронизируем локальный и удалённый репозитории\n\n#### Отправить изменения на удалённый репозиторий — git push\n\n`git push` (от англ. *push* — «толкать») - загружает содержимое локального репозитория на GitHub.\n\nВ первый раз эту команду нужно вызвать с флагом `-u` и параметрами `origin` (имя удалённого репозитория) и `main` или `master` (название текущей ветки). Флаг `-u` свяжет локальную ветку с одноимённой удалённой.\n\n```bash\n$ git push -u origin main # Если команда приведёт к ошибке, попробуйте \n                          # заменить main на master.\n```\n\nВ дальнейшем при работе с удалённым репозиторием флаг `-u` можно опустить и писать просто `git push`.\n\n## 4. Навигация по коммитам\n\n### 4.1 Хеш — идентификатор коммита\n\n#### Что такое хеш. Хеширование коммитов\n\n**Хеширование** (от англ. *hash*, «рубить», «крошить», «мешанина») — это способ преобразовать набор данных и получить их «отпечаток» (англ. *fingerprint*).\n\nИнформация о коммите — это набор данных: когда был сделан коммит, содержимое файлов в репозитории на момент коммита и ссылка на предыдущий, или **родительский** (англ. *parent*), коммит.\n\nGit хеширует (преобразует) информацию о коммите с помощью алгоритма **SHA-1** (от англ. Secure Hash Algorithm — «безопасный алгоритм хеширования») и получает для каждого коммита свой уникальный **хеш** — результат хеширования.\n\nОбычно хеш — это короткая (4040 символов в случае SHA-1) строка, которая состоит из цифр 0— 9 и латинских букв *A*—*F* (неважно, заглавных или строчных). Она обладает следующими важными свойствами:\n\n- если хеш получить дважды для одного и того же набора входных данных, то результат будет гарантированно одинаковый;\n- если хоть что-то в исходных данных поменяется (хотя бы один символ), то хеш тоже изменится (причём сильно).\n\n#### Хеш — основной идентификатор коммита\n\nGit хранит таблицу соответствий `хеш → информация о коммите`. Если вы знаете хеш, вы можете узнать всё остальное: автора и дату коммита и содержимое закоммиченных файлов. Можно сказать, что хеш — основной идентификатор коммита.\n\nВсе хеши и таблицу `хеш → информация о коммите` Git сохраняет в служебные файлы. Они находятся в скрытой папке `.git` в репозитории проекта.\n\n### 4.2 Исследуем лог\n\n#### Элементы описания коммита\n\nПосле вызова `git log` появляется список коммитов.\n\nЭлементы, из которых состоит описание:\n* строка из цифр и латинских букв после слова commit — это хеш коммита;\n* Author — имя автора и его электронная почта;\n* Date — дата и время создания коммита;\n* в конце находится сообщение коммита.\n\n#### Получить сокращённый лог —`git log --oneline`\n\nПолучить сокращённый лог можно с помощью команды `git log` с флагом `--oneline` (англ. «одной строкой»). В терминале появятся только первые несколько символов хеша каждого коммита и их комментарии. Команда автоматически подберёт оптимальную длину хеша.\n\n### 4.3 HEAD\n\nФайл `HEAD` (англ. «голова», «головной») — один из служебных файлов папки `.git`. Он указывает на коммит, который сделан последним (то есть на самый новый).\n\nВнутри `HEAD` — ссылка на служебный файл: `refs/heads/master` (или `refs/heads/main` в зависимости от названия ветки). Если заглянуть в этот файл, можно увидеть хеш последнего коммита.\n\nКогда вы делаете коммит, Git обновляет `refs/heads/master` — записывает в него хеш последнего коммита. Получается, что `HEAD` тоже обновляется, так как ссылается на `refs/heads/master`.\n\n`HEAD` указывает на последний коммит. Если передать его в качестве параметра, Git поймёт вас.\n\n### 4.4 Статусы файлов в Git\n\n#### Статусы `untracked` / `tracked`, `staged` и `modified`\n\n- **`untracked`** (англ. «неотслеживаемый»)\nНовые файлы в Git-репозитории помечаются как `untracked`, то есть неотслеживаемые. Git «видит», что такой файл существует, но не следит за изменениями в нём. У `untracked`файла нет предыдущих версий, зафиксированных в коммитах или через команду `git add`.\n- **`staged`** (англ. «подготовленный»)\n    \n    После выполнения команды `git add` файл попадает в **staging area** (от англ. *stage* — «сцена» и *area* — «область»), то есть в список файлов, которые войдут в коммит.\n    \n- **`tracked`** (англ. «отслеживаемый»)\nСостояние `tracked` — это противоположность `untracked`. Оно довольно широкое по смыслу: в него попадают файлы, которые уже были зафиксированы с помощью `git commit`, а также файлы, которые были добавлены в staging area командой `git add`. То есть все файлы, в которых Git так или иначе отслеживает изменения.\n- **`modified`** (англ. «изменённый»)\nСостояние `modified` означает, что Git сравнил содержимое файла с последней сохранённой версией и нашёл отличия. Например, файл был закоммичен и после этого изменён.\n\n#### Про `staged` и `modified`\n\nКоманда `git add` добавляет в staging area только текущее содержимое файла. Если вы, например, сделаете `git add file.txt`, а затем измените `file.txt`, то новое содержимое файла не будет находиться в staging.\n\nGit сообщит об этом с помощью статуса `modified`: файл изменён относительно той версии, которая уже в staging. Чтобы добавить в staging последнюю версию, нужно выполнить `git add file.txt` ещё раз.\n\n#### Типичный жизненный цикл файла в Git\n\n```mermaid\ngraph LR;\n  untracked        -- \"git add\"    --\u003e staged+tracked;\n  staged+tracked   -- \"git commit\" --\u003e comitted+tracked;\n  staged+tracked   -- \"изменения\"  --\u003e modified+tracked;\n  modified+tracked -- \"git add\"    --\u003e staged+tracked;\n  comitted+tracked -- \"изменения\"  --\u003e modified+tracked;   \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzolotyh-dk%2Fgit-cheat-sheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzolotyh-dk%2Fgit-cheat-sheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzolotyh-dk%2Fgit-cheat-sheet/lists"}