{"id":21184576,"url":"https://github.com/marse11e/git","last_synced_at":"2026-04-21T05:34:47.918Z","repository":{"id":248598977,"uuid":"829109602","full_name":"marse11e/Git","owner":"marse11e","description":"Git — это распределенная система управления версиями, используемая для отслеживания изменений в исходном коде и координации работы между разработчиками. Она была создана Линусом Торвальдсом в 2005 году для управления разработкой ядра Linux и с тех пор стала одной из самых популярных ...","archived":false,"fork":false,"pushed_at":"2024-07-15T21:40:14.000Z","size":285,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-20T12:54:48.897Z","etag":null,"topics":["git","github"],"latest_commit_sha":null,"homepage":"https://t.me/MarselleNaz","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/marse11e.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-07-15T19:23:20.000Z","updated_at":"2024-07-15T22:45:39.000Z","dependencies_parsed_at":"2024-07-16T02:07:39.638Z","dependency_job_id":"13bed298-e3f5-4f11-a091-d24e3fcfb693","html_url":"https://github.com/marse11e/Git","commit_stats":null,"previous_names":["marse11e/git"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marse11e/Git","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marse11e%2FGit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marse11e%2FGit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marse11e%2FGit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marse11e%2FGit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marse11e","download_url":"https://codeload.github.com/marse11e/Git/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marse11e%2FGit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32079092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T02:38:07.213Z","status":"ssl_error","status_checked_at":"2026-04-21T02:38:06.559Z","response_time":128,"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":["git","github"],"created_at":"2024-11-20T18:09:23.417Z","updated_at":"2026-04-21T05:34:47.903Z","avatar_url":"https://github.com/marse11e.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git - шпаргалка\n\n[Подключение SSH к GitHub](SSH.md)\u003cbr\u003e\n[Документация по GitHub](https://docs.github.com/ru)\u003cbr\u003e\n[Документация по Git](https://git-scm.com/doc)\u003cbr\u003e\n\nGit — это распределенная система управления версиями, используемая для отслеживания изменений в исходном коде и координации работы между разработчиками. Она была создана Линусом Торвальдсом в 2005 году для управления разработкой ядра Linux и с тех пор стала одной из самых популярных систем управления версиями в мире.\n\n### Основные особенности Git:\n\n1. **Распределенность:**\n   - Каждый разработчик имеет полную копию всего репозитория, включая всю его историю. Это позволяет работать автономно и обеспечивает безопасность данных.\n\n2. **Эффективное ветвление и слияние:**\n   - Git позволяет легко создавать и управлять ветками, что упрощает работу над новыми функциями и исправлениями. Слияние веток также осуществляется быстро и эффективно.\n\n3. **Высокая производительность:**\n   - Git оптимизирован для быстрого выполнения операций, таких как коммит, создание веток, слияние и переключение между ветками.\n\n4. **Защита данных:**\n   - Git использует SHA-1 хеши для идентификации каждого коммита и объектов в репозитории, что обеспечивает защиту данных и целостность истории изменений.\n\n### Основные команды Git:\n\n- **`git init`** - Инициализация нового репозитория.\n- **`git clone`** - Клонирование существующего репозитория.\n- **`git add`** - Добавление изменений в индекс (стейджинг).\n- **`git commit`** - Фиксация изменений с описанием.\n- **`git status`** - Отображение состояния рабочего каталога и индекса.\n- **`git log`** - Просмотр истории коммитов.\n- **`git branch`** - Управление ветками.\n- **`git checkout`** - Переключение между ветками или возврат к предыдущему состоянию.\n- **`git merge`** - Слияние веток.\n- **`git pull`** - Извлечение и интеграция изменений из удаленного репозитория.\n- **`git push`** - Отправка изменений в удаленный репозиторий.\n\n### Почему использовать Git:\n\n- **Совместная работа:** Git упрощает работу в команде, позволяя легко объединять изменения от разных разработчиков.\n- **История изменений:** Полная история изменений позволяет отслеживать, кто, когда и почему внес изменения в код.\n- **Ветвление и слияние:** Простота управления ветками позволяет работать над несколькими функциями одновременно и безопасно интегрировать их.\n- **Резервное копирование:** Поскольку каждый разработчик имеет полную копию репозитория, данные надежно защищены от потерь.\n\nGit является мощным инструментом для управления исходным кодом и широко используется в разработке программного обеспечения.\n\n\n### Создание репозитория\n\n1. **Создать новый локальный репозиторий:**\n\n   ```bash\n   git init my_project\n   ```\n\n   Это создаст новый каталог `.git` в вашем проекте с именем `my_project`, который будет содержать все необходимые файлы репозитория. Пример использования:\n\n   ```bash\n   mkdir my_project\n   cd my_project\n   git init\n   ```\n\n   Вывод:\n\n   ```plaintext\n   Initialized empty Git repository in /path/to/my_project/.git/\n   ```\n\n2. **Скачать репозиторий:**\n\n   ```bash\n   git clone https://github.com/user/repo.git\n   ```\n\n   Это склонирует удаленный репозиторий на ваш локальный компьютер. Примеры использования:\n\n   ```bash\n   git clone https://github.com/torvalds/linux.git\n   ```\n\n   Вывод:\n\n   ```plaintext\n   Cloning into 'linux'...\n   remote: Enumerating objects: 100, done.\n   remote: Counting objects: 100% (100/100), done.\n   remote: Compressing objects: 100% (85/85), done.\n   remote: Total 100 objects (delta 12), reused 55 (delta 7), pack-reused 0\n   Receiving objects: 100% (100/100), 60.50 KiB | 1.20 MiB/s, done.\n   Resolving deltas: 100% (12/12), done.\n   ```\n\n### Состояние репозитория\n\n1. **Список незакоммиченных файлов:**\n\n   ```bash\n   git status\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   On branch master\n   Changes not staged for commit:\n     (use \"git add \u003cfile\u003e...\" to update what will be committed)\n     (use \"git restore \u003cfile\u003e...\" to discard changes in working directory)\n       modified:   file1.txt\n       modified:   file2.txt\n   ```\n\n2. **Изменения в еще не добавленных в индекс файлов:**\n\n   ```bash\n   git diff\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   diff --git a/file1.txt b/file1.txt\n   index 83db48f..b2e54c7 100644\n   --- a/file1.txt\n   +++ b/file1.txt\n   @@ -1 +1 @@\n   -Hello World\n   +Hello Git\n   ```\n\n3. **Изменения в уже добавленных:**\n\n   ```bash\n   git diff --cached\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   diff --git a/file2.txt b/file2.txt\n   index 83db48f..b2e54c7 100644\n   --- a/file2.txt\n   +++ b/file2.txt\n   @@ -1 +1 @@\n   -Hello\n   +Hello Git\n   ```\n\n4. **Все изменения:**\n\n   ```bash\n   git diff HEAD\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   diff --git a/file1.txt b/file1.txt\n   index 83db48f..b2e54c7 100644\n   --- a/file1.txt\n   +++ b/file1.txt\n   @@ -1 +1 @@\n   -Hello World\n   +Hello Git\n   ```\n\n5. **Изменения между двумя коммитами:**\n\n   ```bash\n   git diff hash1 hash2\n   ```\n\n   Пример использования:\n\n   ```bash\n   git diff abc123 def456\n   ```\n\n   Пример вывода:\n\n   ```plaintext\n   diff --git a/file1.txt b/file1.txt\n   index 83db48f..b2e54c7 100644\n   --- a/file1.txt\n   +++ b/file1.txt\n   @@ -1 +1 @@\n   -Hello World\n   +Hello Git\n   ```\n\n6. **Получить даты изменений и их авторов:**\n\n   ```bash\n   git blame filename\n   ```\n\n   Пример использования:\n\n   ```bash\n   git blame file1.txt\n   ```\n\n   Пример вывода:\n\n   ```plaintext\n   abc123 (Alice 2021-01-01 12:00:00 +0100 1) Hello World\n   ```\n\n7. **Получить список изменений файла в определенном коммите:**\n\n   ```bash\n   git show hash:file\n   ```\n\n   Пример использования:\n\n   ```bash\n   git show abc123:file1.txt\n   ```\n\n   Пример вывода:\n\n   ```plaintext\n   diff --git a/file1.txt b/file1.txt\n   index 83db48f..b2e54c7 100644\n   --- a/file1.txt\n   +++ b/file1.txt\n   @@ -1 +1 @@\n   -Hello World\n   +Hello Git\n   ```\n\n8. **Список коммитов:**\n\n   ```bash\n   git log\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   commit abc123 (HEAD -\u003e master)\n   Author: Alice \u003calice@example.com\u003e\n   Date:   Mon Jul 14 12:00:00 2023 +0100\n\n       Initial commit\n   ```\n\n9. **Показать историю изменений, включая диффы:**\n\n   ```bash\n   git log -p filename\n   ```\n\n   Пример использования:\n\n   ```bash\n   git log -p file1.txt\n   ```\n\n   Пример вывода:\n\n   ```plaintext\n   commit abc123 (HEAD -\u003e master)\n   Author: Alice \u003calice@example.com\u003e\n   Date:   Mon Jul 14 12:00:00 2023 +0100\n\n       Initial commit\n\n   diff --git a/file1.txt b/file1.txt\n   index 83db48f..b2e54c7 100644\n   --- a/file1.txt\n   +++ b/file1.txt\n   @@ -1 +1 @@\n   -Hello World\n   +Hello Git\n   ```\n\n### Работа с ветками\n\n1. **Список локальных веток:**\n\n   ```bash\n   git branch\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   * master\n     feature-branch\n   ```\n\n2. **Список всех веток:**\n\n   ```bash\n   git branch -av\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   * master\n     remotes/origin/HEAD -\u003e origin/master\n     remotes/origin/feature-branch\n   ```\n\n3. **Переключиться на ветку:**\n\n   ```bash\n   git checkout mybranch\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   Switched to branch 'mybranch'\n   ```\n\n4. **Создать ветку и переключиться на неё:**\n\n   ```bash\n   git checkout -b mybranch\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   Switched to a new branch 'mybranch'\n   ```\n\n5. **Удалить ветку:**\n\n   ```bash\n   git branch -d mybranch\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   Deleted branch mybranch (was abc123).\n   ```\n\n6. **Смержить ветку:**\n\n   ```bash\n   git checkout b\n   git merge a\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   Switched to branch 'b'\n   Updating abc123..def456\n   Fast-forward\n    file1.txt | 1 +\n    1 file changed, 1 insertion(+)\n   ```\n\n7. **Создать тег для текущего коммита:**\n\n   ```bash\n   git tag tagname\n   ```\n\n   Пример использования:\n\n   ```bash\n   git tag v1.0\n   ```\n\n   Тег `v1.0` теперь присвоен текущему коммиту.\n\n### Сохранение изменений\n\n1. **Добавить файл в индекс:**\n\n   ```bash\n   git add filename\n   ```\n\n   Пример использования:\n\n   ```bash\n   git add file1.txt\n   ```\n\n   Файл `file1.txt` добавлен в индекс.\n\n2. **Добавить все файлы в папке:**\n\n   ```bash\n   git add .\n   ```\n\n   Пример использования:\n\n   ```bash\n   git add .\n   ```\n\n   Все файлы в текущем каталоге и его подкаталогах добавлены в индекс.\n\n3. **Закоммитить добавленные в индекс файлы с сообщением:**\n\n   ```bash\n   git commit -m \"сообщение\"\n   ```\n\n   Пример использования:\n\n   ```bash\n   git commit -m \"Initial commit\"\n   ```\n\n   Пример вывода:\n\n   ```plaintext\n   [master (root-commit) abc1234] Initial commit\n   1 file changed, 1 insertion(+)\n   create mode 100644 file1.txt\n   ```\n\n4. **Закоммитить все файлы с сообщением:**\n\n   ```bash\n   git commit -am \"сообщение\"\n   ```\n\n   Пример использования:\n\n   ```bash\n   git commit -am \"Updated file1 and file2\"\n   ```\n\n   Пример вывода:\n\n   ```plaintext\n   [master abc1234] Updated file1 and file2\n   2 files changed, 2 insertions(+), 2 deletions(-)\n   ```\n\n5. **Удалить измененный файл из индекса\n\n, оставив изменения в нём:**\n\n   ```bash\n   git reset filename\n   ```\n\n   Пример использования:\n\n   ```bash\n   git reset file1.txt\n   ```\n\n   Файл `file1.txt` удален из индекса, но изменения сохранены.\n\n6. **Отменить все изменения в папке и вернуть всё к последнему коммиту:**\n\n   ```bash\n   git reset --hard\n   ```\n\n   Пример использования:\n\n   ```bash\n   git reset --hard\n   ```\n\n   Пример вывода:\n\n   ```plaintext\n   HEAD is now at abc123 Initial commit\n   ```\n\n### Обновление\n\n1. **Скачать изменения из удаленного репозитория:**\n\n   ```bash\n   git fetch\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   remote: Enumerating objects: 5, done.\n   remote: Counting objects: 100% (5/5), done.\n   remote: Compressing objects: 100% (3/3), done.\n   remote: Total 3 (delta 1), reused 0 (delta 0)\n   Unpacking objects: 100% (3/3), done.\n   From https://github.com/user/repo\n    * [new branch]      feature-branch -\u003e origin/feature-branch\n   ```\n\n2. **Скачать изменения из удаленного репозитория и смержить:**\n\n   ```bash\n   git pull\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   remote: Enumerating objects: 5, done.\n   remote: Counting objects: 100% (5/5), done.\n   remote: Compressing objects: 100% (3/3), done.\n   remote: Total 3 (delta 1), reused 0 (delta 0)\n   Unpacking objects: 100% (3/3), done.\n   From https://github.com/user/repo\n      abc123..def456  master     -\u003e origin/master\n   Updating abc123..def456\n   Fast-forward\n    file1.txt | 1 +\n    1 file changed, 1 insertion(+)\n   ```\n\n3. **Скачать изменения из удаленного репозитория и наложить незапушенные коммиты поверх скачанных:**\n\n   ```bash\n   git pull --rebase\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   remote: Enumerating objects: 5, done.\n   remote: Counting objects: 100% (5/5), done.\n   remote: Compressing objects: 100% (3/3), done.\n   remote: Total 3 (delta 1), reused 0 (delta 0)\n   Unpacking objects: 100% (3/3), done.\n   From https://github.com/user/repo\n      abc123..def456  master     -\u003e origin/master\n   First, rewinding head to replay your work on top of it...\n   Applying: Updated file1 and file2\n   ```\n\n4. **Отправить локальные коммиты в удаленный репозиторий:**\n\n   ```bash\n   git push\n   ```\n\n   Пример использования:\n\n   ```plaintext\n   Enumerating objects: 5, done.\n   Counting objects: 100% (5/5), done.\n   Delta compression using up to 8 threads\n   Compressing objects: 100% (3/3), done.\n   Writing objects: 100% (3/3), 370 bytes | 370.00 KiB/s, done.\n   Total 3 (delta 1), reused 0 (delta 0)\n   To https://github.com/user/repo\n      abc123..def456  master -\u003e master\n   ```\n\n### Подсказки\n\n1. **Использование подсказок:**\n\n   ```bash\n   git command --help\n   ```\n\n   Пример использования:\n\n   ```bash\n   git commit --help\n   ```\n\n   Откроет справочную информацию о команде `git commit`.\n\n![Git](image/GIT.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarse11e%2Fgit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarse11e%2Fgit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarse11e%2Fgit/lists"}