{"id":19923248,"url":"https://github.com/MindlessMuse666/git-practice-app","last_synced_at":"2025-05-03T07:31:02.446Z","repository":{"id":211479412,"uuid":"729260285","full_name":"MindlessMuse666/git-practice-app","owner":"MindlessMuse666","description":"Это консольный проект на C# для обучения работе с Git.  //  This is a C# console-project for training how to work with Git.","archived":false,"fork":false,"pushed_at":"2024-12-14T21:48:50.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T22:42:18.537Z","etag":null,"topics":["git","git-practice","git-practice-repo","gitignore","practice-project"],"latest_commit_sha":null,"homepage":"","language":"C#","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/MindlessMuse666.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":"2023-12-08T18:40:24.000Z","updated_at":"2024-12-14T21:48:54.000Z","dependencies_parsed_at":"2024-12-14T21:29:43.897Z","dependency_job_id":"a9163b53-38e5-4150-880b-1d5081bbbeb9","html_url":"https://github.com/MindlessMuse666/git-practice-app","commit_stats":null,"previous_names":["mindlessmuse666/consoleapp","mindlessmuse666/git-practice-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MindlessMuse666%2Fgit-practice-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MindlessMuse666%2Fgit-practice-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MindlessMuse666%2Fgit-practice-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MindlessMuse666%2Fgit-practice-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MindlessMuse666","download_url":"https://codeload.github.com/MindlessMuse666/git-practice-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252156828,"owners_count":21703362,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","git-practice","git-practice-repo","gitignore","practice-project"],"created_at":"2024-11-12T22:13:31.641Z","updated_at":"2025-05-03T07:31:02.436Z","avatar_url":"https://github.com/MindlessMuse666.png","language":"C#","readme":"# C#-приложение для практики работы с `Git` (RU)\n\nЭто консольный проект на C# для обучения работе с `Git`.\n\n\n## `Git`\nэто `система контроля версий`, для управлять и отслеживания изменений в коде и файлах. `Git` позволяет многим людям работать с одним и тем же проектом, внося изменения и сливая их вместе в единую версию. `Git` является одной из самых популярных систем контроля версий и широко используется в различных проектах.\n\nИстория `Git` начинается в 2005 году, когда *Линус Торвальдс*, создатель ядра `Linux`, начал разработку новой системы контроля версий. Он был недоволен тогдашними системами контроля версий, которые были неэффективными или сложными в использовании. `Git` был создан как быстрый, эффективный и легко расширяемый инструмент для работы с крупными проектами с распределенной архитектурой.\n\nС тех пор `Git` стал не только популярным среди разработчиков `Linux`, но и быстро распространился по всему миру и стал одним из самых используемых инструментов в различных областях. `Git` является свободным программным обеспечением с открытым исходным кодом, что позволяет всем желающим использовать, изменять и распространять его бесплатно.\n\n\n## Основные действия с репозиторием\n\n### `git init`\n\n* Cоздание нового локального репозитория `Git`.\n* После выполнения этой команды `Git` создает в текущей директории новую поддиректорию с именем `.git`, в которой хранятся все файлы `Git`, необходимые для управления версиями в этом репозитории.\n* Cинтаксис команды `git init`:\n  ```\n  git init [--bare] [\u003cdirectory\u003e]\n  ```\n\n  `--bare` - определяет репозиторий как \"голый\", т.е. без рабочей директории. Это используется для создания удаленного репозитория.\n  \n  `\u003cdirectory\u003e` - указывает директорию, в которой создается локальный репозиторий. Если параметр не указан, репозиторий создается в текущей директории.\n\n* Пример использования команды `git init`:\n  ```\n  $ cd my_project\n  $ git init\n  Initialized empty Git repository in /path/to/my_project/.git/\n  ```\n\n\n### `git clone`\n\nКоманда `git clone` используется для создания локальной копии удаленного репозитория `Git`. Это позволяет вам получить копию проекта на вашем локальном компьютере и начать работу с ним.\n\nСинтаксис команды `git clone`:\n\n```\ngit clone \u003cURL репозитория\u003e [\u003cназвание локальной папки\u003e]\n# где \u003cURL репозитория\u003e - это URL-адрес удаленного репозитория Git, а \u003cназвание локальной папки\u003e (необязательный параметр) - это название локальной папки, в которую будет склонирован репозиторий. Если \u003cназвание локальной папки\u003e не указан, Git автоматически создаст папку с названием репозитория.\n```\n\nПример использования команды `git clone`:\n\n```\ngit clone https://github.com/username/repo.git\n# Эта команда создаст локальную копию удаленного репозитория repo, который находится в аккаунте username на GitHub, в папке с названием repo.\n```\n\nЕсли вы хотите указать свое собственное название для локальной папки, вы можете добавить его после URL-адреса репозитория:\n\n```\ngit clone https://github.com/username/repo.git myproject\n# Эта команда создаст локальную копию удаленного репозитория repo в папке myproject. Если папка myproject уже существует, Git выведет сообщение об ошибке и не склонирует репозиторий.\n```\n\n\n## Работа с изменениями\n\n### `git add`\n\nКоманда `git add .` используется для добавления изменений в индекс `Git`. Индекс - это промежуточный слой между рабочей директорией (где находятся ваши файлы) и репозиторием `Git` (где сохраняются изменения). Когда вы делаете изменения в файлах в рабочей директории, они не автоматически добавляются в индекс. Для того, чтобы добавить изменения в индекс, необходимо использовать команду `git add`.\n\nСинтаксис команды `git add .`:\n\n```\ngit add .\n# Эта команда добавляет все измененные файлы в рабочей директории в индекс.\n```\n\n\n### `git commit`\n\nКоманда `git commit` используется для сохранения изменений, сделанных в вашем локальном репозитории, в истории коммитов. Каждый коммит в `Git` имеет уникальный идентификатор, дату и время коммита, имя автора, электронную почту и сообщение, описывающее изменения.\n\nСинтаксис команды `git commit`:\n\n```\ngit commit -m \"\u003cсообщение коммита\u003e\"\nГде -m означает \"message\" (сообщение) и \u003cсообщение коммита\u003e - это краткое описание изменений, сделанных в коммите.\n```\n\n\n### `git diff`\n\nКоманда `git diff` используется для просмотра различий между версиями файлов в репозитории. Она показывает, какие изменения были сделаны в файлах с момента последнего коммита.\n\nОсновной синтаксис команды `git diff` выглядит так:\n\n```\ngit diff [\u003cопции\u003e] [\u003cисточник\u003e] [\u003cцель\u003e]\n# Где:\n\u003cисточник\u003e - определяет начальную точку изменений для отображения различий.\n\u003cцель\u003e - определяет конечную точку изменений для отображения различий.\n\u003cопции\u003e - дополнительные флаги, изменяющие поведение команды.\n```\n\nОсновные флаги `git diff`:\n\n* `--cached` - сравнивает изменения между вашим индексом (т.е. тем, что будет в следующем коммите) и последним коммитом.\n* `--stat` - показывает статистику изменений для каждого файла.\n* `--color` - отображает различия с использованием цветов для лучшей читаемости.\n\nПримеры использования:\n\n* `git diff` - простой запуск команды покажет различия между вашей рабочей копией и последним коммитом.\n* `git diff --cached` - покажет различия между вашим индексом и последним коммитом.\n* `git diff HEAD` - покажет различия между вашей рабочей копией и последним коммитом.\n* `git diff HEAD~2 HEAD` - покажет различия между двумя последними коммитами.\n* `git diff --stat` - покажет статистику изменений для каждого файла.\n* `git diff --color` - покажет различия с использованием цветов.\n\nКроме того, можно использовать `git diff` для сравнения любых двух коммитов, веток или тэгов в репозитории. Например, `git diff branch1..branch2` покажет различия между двумя ветками `branch1` и `branch2`.\n\n\n### `git revert`\n\nКоманда `git revert` используется для отмены определенного коммита и создания нового коммита, который отменяет изменения предыдущего коммита. Это делает команду безопасной для использования в общем репозитории, поскольку она не изменяет историю коммитов.\n\nСинтаксис команды `git revert`:\n\n```\ngit revert \u003ccommit\u003e\n# Где \u003ccommit\u003e - это хэш-идентификатор коммита, который нужно отменить.\n```\n\nПример использования команды `git revert`:\n\n```\n$ git log --oneline\nd3b3d43 Commit C\n786f7f8 Commit B\n12556fa Commit A\n\n$ git revert d3b3d43\n# Эта команда создаст новый коммит, который отменяет изменения, внесенные коммитом с хэш-идентификатором d3b3d43.\n```\n\n\n## Управление историей\n\n### `git reset`\n\nКоманда `git reset` используется для отмены изменений в вашем локальном репозитории. Она позволяет сбрасывать состояние вашего рабочего каталога до определённого коммита, изменяя при этом историю коммитов и/или состояние индекса (staging area). В зависимости от используемых опций, `git reset` может изменять HEAD (текущий коммит), индекс и рабочий каталог.\n\nСинтаксис команды `git reset`:\n\n```\ngit reset [--soft | --mixed | --hard] \u003ccommit\u003e\n```\n\nОсновные опции:\n\n* `--soft`: Сбрасывает HEAD до указанного коммита, но оставляет рабочий каталог и индекс (staging area) без изменений. Изменения, которые были сделаны после указанного коммита, останутся в индексе, готовые к коммиту.\n* `--mixed` (по умолчанию): Сбрасывает HEAD и индекс до указанного коммита, но оставляет рабочий каталог без изменений. Это означает, что изменения, которые были проиндексированы, будут отменены, но останутся в рабочем каталоге как неиндексированные изменения.\n* `--hard`: Сбрасывает HEAD, индекс и рабочий каталог до состояния указанного коммита. Все изменения в рабочем каталоге и индексе будут потеряны. Эту опцию следует использовать с осторожностью.\n\n\nПример использования команды `git reset`:\n\nДля отмены последних двух коммитов и возвращения изменений в рабочий каталог (неиндексированные изменения):\n\n```\n$ git reset --mixed HEAD~2\n# Для полного удаления последних двух коммитов, включая все изменения в рабочем каталоге:\n```\n\n```\n$ git reset --hard HEAD~2\n# Использование команды git reset обеспечивает отличный инструмент для управления историей ваших коммитов и состоянием индекса, позволяя исправлять ошибки в истории коммитов или отменять изменения до их публикации в удалённом репозитории. Однако, использование --hard может привести к потере данных, поэтому перед его применением рекомендуется убедиться в отсутствии важных несохранённых изменений.\n```\n\n\n### `git log`\n\nКоманда `git log` используется для просмотра истории коммитов в репозитории Git. Она отображает список коммитов в обратном хронологическом порядке, начиная с последнего.\n\nПример использования команды `git log`:\n\n```\ngit log\n# Эта команда показывает список всех коммитов в репозитории, от самых последних до самых старых. Каждый коммит включает SHA-1 хеш, автора коммита, дату и время коммита, и комментарий.\n```\n\nОсновные флаги команды `git log`:\n\n* `--oneline`: показывает каждый коммит в одной строке, содержащей только его SHA-1 хеш и комментарий.\n\n* `--graph`: показывает историю коммитов в виде графа, что позволяет легко визуализировать разветвленную историю ветвлений и слияний.\n\n* `--author=\u003cимя\u003e`: показывает только коммиты, сделанные указанным автором.\n\n* `--since=\u003cдата\u003e`: показывает только коммиты, сделанные после указанной даты.\n\n* `--until=\u003cдата\u003e`: показывает только коммиты, сделанные до указанной даты.\n\n* `-n \u003cколичество\u003e`: показывает только указанное количество последних коммитов.\n\n* `--grep=\u003cстрока\u003e`: показывает только коммиты, содержащие указанную строку в своих комментариях.\n\nПример использования флага `--since`:\n\n```\ngit log --since=2022-01-01\n# Эта команда показывает список всех коммитов, сделанных после 1 января 2022 года.\n```\n\nПример использования флага `--author`:\n\n```\ngit log --author=\"John Doe\"\n# Эта команда показывает список всех коммитов, сделанных автором с именем \"John Doe\".\n```\n\nПример использования флага `--grep`:\n\n```\ngit log --grep=\"bug\"\n# Эта команда показывает список всех коммитов, содержащих слово \"bug\" в своих комментариях.\n```\n\n\n### `git checkout`\n\nКоманда `git checkout` в `Git` используется для переключения между ветками, проверки коммитов и отката изменений. Она позволяет переключаться между различными состояниями вашего репозитория.\n\nОсновные флаги:\n\n* `-b`: создать новую ветку и переключиться на нее. Например, `git checkout -b new-branch` создаст новую ветку с названием `\"new-branch\"` и переключится на нее.\n* `-f`: принудительно перезаписывает локальные изменения, которые не были зафиксированы. Этот флаг используется только в крайних случаях.\n* `-p`: позволяет просмотреть и выбрать конкретные изменения для восстановления.\n* `\u003ccommit/branch\u003e`: позволяет переключиться на определенный коммит или ветку.\n\nПримеры использования:\n\nПереключение на ветку:\n\n```\ngit checkout main\n# Эта команда переключает вас на ветку \"main\".\n```\n\nСоздание новой ветки и переключение на нее:\n\n```\ngit checkout -b new-branch\n# Эта команда создает новую ветку с названием \"new-branch\" и переключает вас на нее.\n```\n\nПереключение на определенный коммит:\n\n```\ngit checkout 2a3e8c9\n# Эта команда переключает вас на коммит с указанным идентификатором.\n```\n\nОтмена изменений в файле:\n\n```\ngit checkout myfile.txt\n# Эта команда отменяет изменения в файле \"myfile.txt\" и восстанавливает его до последней зафиксированной версии.\n```\n\nВосстановление определенных изменений:\n\n```\ngit checkout -p myfile.txt\n# Эта команда позволяет вам просмотреть изменения в файле \"myfile.txt\" и выбрать, какие из них восстановить.\n```\n\n\n## Управление ветками\n\n### `git branch`\n\nКоманда `git branch` используется для просмотра, создания и удаления веток в репозитории `Git`. Ветка - это отдельная линия разработки, которая может включать в себя свой собственный набор коммитов.\n\nОсновные флаги команды `git branch`:\n\n* `-a` - показывает все ветки (включая удаленные)\n* `-d` - удаляет ветку (данная команда удаляет только те ветки, которые были слиты в текущую ветку)\n* `-D` - удаляет ветку без проверки, были ли все её изменения слиты с текущей веткой\n* `-m` - переименовывает текущую ветку\n* `-r` - показывает все удаленные ветки\n\nПримеры использования команды `git branch`:\n\nПросмотр списка веток:\n\n```\ngit branch\n```\n\nСоздание новой ветки:\n\n```\ngit branch new-branch\n```\n\nПереименование текущей ветки:\n\n```\ngit branch -m new-branch-name\n```\n\nУдаление ветки:\n\n```\ngit branch -d branch-to-delete\n```\n\nПросмотр удаленных веток:\n\n```\ngit branch -r\n# Команда git branch позволяет управлять ветками в репозитории и помогает организовать работу в команде. Она также помогает контролировать историю изменений в проекте.\n```\n\n\n### `git merge`\n\nКоманда `git merge` используется для объединения изменений из одной ветки в другую. Она применяется для слияния изменений, которые были внесены в отдельной ветке, обычно для объединения фиксации ошибок или добавления функциональности в проект.\n\nСинтаксис команды `git merge`:\n\n```\ngit merge \u003cимя ветки\u003e\n# где \u003cимя ветки\u003e - это имя ветки, изменения из которой вы хотите объединить в текущую ветку.\n```\n\nПример использования команды `git merge`:\n\nСначала, вам нужно переключиться на ветку, в которую вы хотите объединить изменения:\n\n```\ngit checkout master\n```\n\nЗатем вы можете выполнить команду `git merge`, указав имя ветки, из которой вы хотите получить изменения:\n\n```\ngit merge feature-branch\n```\n\nВ этом примере мы объединяем изменения из ветки `feature-branch` в текущую ветку `master`.\n\nОсновные флаги команды `git merge`:\n\n* `--no-ff`: Отключает быстрое слияние, что создает коммит с объединением, даже если изменения можно было бы просто быстро применить.\n* `--abort`: Отменяет текущее слияние и возвращает репозиторий в предыдущее состояние.\n\nПример использования флага `--no-ff`:\n\n```\ngit merge --no-ff feature-branch\n# В этом примере мы отключаем быстрое слияние и создаем новый коммит с объединением.\n```\n\nПример использования флага `--abort`:\n\n```\ngit merge --abort\n# В этом примере мы отменяем текущее слияние и возвращаем репозиторий в предыдущее состояние.\n```\n\n\n## Работа с удаленным репозиторием\n\n### `git fetch`\n\nКоманда `git fetch` используется для получения изменений из удаленного репозитория `Git`, но не вносит изменения в локальную ветку. Эта команда позволяет вам получить информацию о ветках и коммитах, которых еще нет в локальном репозитории.\n\nСинтаксис команды `git fetch`:\n\n```\ngit fetch [\u003cremote\u003e] [\u003crefspec\u003e...]\n```\n\nОсновные флаги:\n\n* `\u003cremote\u003e`: имя удаленного репозитория `Git` (например, `origin`). Если не указан, `Git` использует имя `origin` по умолчанию.\n* `\u003crefspec\u003e`: имена веток и тегов, которые вы хотите получить из удаленного репозитория. Если не указан, `Git` получает все ветки и теги.\n\nПример использования команды `git fetch`:\n\n```\ngit fetch\n# Эта команда получает все изменения из удаленного репозитория Git, который связан с вашим локальным репозиторием. После выполнения этой команды вы можете выполнить команду git log origin/master для просмотра истории изменений в удаленной ветке master.\n```\n\n```\ngit fetch origin feature-branch\n# Эта команда получает все изменения из удаленной ветки feature-branch в удаленном репозитории Git, связанном с вашим локальным репозиторием. После выполнения этой команды вы можете выполнить команду git log origin/feature-branch для просмотра истории изменений в удаленной ветке feature-branch.\n```\n\n\n### `git pull`\n\nКоманда `git pull` используется для получения изменений из удаленного репозитория и объединения их с вашей локальной веткой.\n\nОсновной синтаксис команды `git pull` выглядит следующим образом:\n\n```\ngit pull [\u003coptions\u003e] [\u003crepository\u003e [\u003crefspec\u003e...]]\n```\n\nОсновные флаги `git pull`:\n\n* `--rebase`: выполняет перебазирование текущей ветки на самый новый коммит вместо создания слияния (merge). Рекомендуется использовать этот флаг, если вы хотите, чтобы история коммитов оставалась простой и понятной.\n* `--no-rebase`: отменяет перебазирование и выполняет слияние вместо этого.\n* `--no-commit`: предотвращает создание автоматического коммита после выполнения слияния. Это дает возможность внести дополнительные изменения перед фиксацией изменений.\n* `--ff-only`: выполнить слияние только в том случае, если это можно сделать быстрым перемещением ветки вперед (fast-forward).\n* `--no-ff`: выполнить слияние только как коммит слияния (merge commit), даже если это можно сделать быстрым перемещением ветки вперед.\n\nПримеры использования команды `git pull`:\n\nПростой git pull, который получает изменения из удаленной ветки и автоматически объединяет их с локальной веткой:\n\n```\ngit pull\n```\n\n`git pull` с использованием флага `--rebase`, который перебазирует текущую ветку на самый новый коммит из удаленной ветки вместо создания слияния:\n\n```\ngit pull --rebase\n```\n\n`git pull` с использованием флага `--no-commit`, который предотвращает создание автоматического коммита после выполнения слияния:\n\n```\ngit pull --no-commit\n```\n\n`git pull` с использованием флага `--ff-only`, который выполнит слияние только в том случае, если это можно сделать быстрым перемещением ветки вперед (fast-forward):\n\n```\ngit pull --ff-only\n```\n\n`git pull` с использованием флага `--no-ff`, который выполнит слияние только как коммит слияния (merge commit), даже если это можно сделать быстрым перемещением ветки вперед:\n\n```\ngit pull --no-ff\n```\n\n\n### `git push`\n\nКоманда `git push` используется для отправки изменений из вашего локального репозитория в удаленный репозиторий `Git`. Это позволяет обновить содержимое удаленного репозитория на основе ваших локальных изменений.\n\nСинтаксис команды `git push`:\n\n```\ngit push \u003cremote\u003e \u003cbranch\u003e\n# Где \u003cremote\u003e - это имя удаленного репозитория, куда вы хотите отправить изменения, а \u003cbranch\u003e - это название ветки, которую вы хотите отправить.\n```\n\nПример использования команды `git push`:\n\n```\ngit push origin main\n# Эта команда отправляет изменения из вашей локальной ветки main в удаленный репозиторий с именем origin.\n```\n\nПомимо базового синтаксиса, команда `git push` имеет несколько флагов, которые можно использовать для дополнительной настройки:\n\n* `-u` или `--set-upstream` - устанавливает отслеживание для ветки, что позволяет вам использовать `git push` и `git pull` без указания имени удаленного репозитория и названия ветки;\n* `-f` или `--force` - заставляет `Git` принудительно заменить удаленную ветку измененной локальной веткой, даже если это приведет к потере данных;\n* `-n` или `--dry-run` - позволяет протестировать команду `git push`, не отправляя реальных изменений в удаленный репозиторий;\n* `-v` или `--verbose` - выводит дополнительную информацию о процессе отправки изменений.\n\nПример использования команды `git push` с флагом:\n\n```\ngit push -u origin main\n# Эта команда отправляет изменения из вашей локальной ветки main в удаленный репозиторий с именем origin и устанавливает отслеживание для этой ветки.\n```\n\n\n## Работа с файлами\n\n\n### `git status`\n\nКоманда `git status` используется для получения информации о текущем состоянии вашего рабочего пространства Git. Она показывает, какие файлы были изменены, какие из них были добавлены в индекс, и какие из них готовы к коммиту. Кроме того, команда `git status` сообщает о текущей ветке и другой полезной информации.\n\nСинтаксис команды `git status`:\n\n```\ngit status [-s] [--long] [--branch] [--porcelain] [--ignore-submodules[=\u003cwhen\u003e]]\n```\n\nОсновные флаги:\n\n* `-s` или `--short`: показывает краткую информацию о состоянии файлов в формате `git diff --shortstat`.\n* `--long`: показывает длинный формат состояния файлов, включая информацию о последнем коммите для каждого файла.\n* `--branch`: показывает текущую ветку и ее состояние.\n* `--porcelain`: показывает состояние файлов в машинно-читаемом формате, что полезно для автоматизации.\n* `--ignore-submodules`: позволяет игнорировать изменения в подмодулях.\n\nПример использования команды `git status`:\n\n```\n$ git status\n\nНа ветке main\nВаша ветка опережает «origin/main» на 1 коммит.\n  (используйте «git push», чтобы опубликовать локальные коммиты)\n\nизменения, которые будут включены в коммит:\n  (используйте «git restore --staged \u003cfile\u003e...», чтобы убрать из индекса)\n\n        изменён:   README.md\n\nизменения, которые не проиндексированы для коммита:\n  (используйте «git add \u003cfile\u003e...», чтобы проиндексировать)\n\n        изменён:   index.html\n\nнет изменений добавленных для коммита (используйте «git add» и/или «git commit -a»)\nЭта команда показывает, что находитесь на ветке \"main\", ваша локальная ветка опережает ветку \"origin/main\" на один коммит, и что были внесены изменения в файлы \"README.md\" и \"index.html\". Файл \"README.md\" был проиндексирован и готов к коммиту, а файл \"index.html\" не был проиндексирован. Для того, чтобы проиндексировать файл \"index.html\", нужно использовать команду \"git add index.html\".\n```\n\n\n### `git rm`\n\nКоманда `git rm` используется для удаления файлов из рабочего каталога и индекса (staging area). Это эффективный способ одновременно удалить файл из отслеживаемых и подготовить это изменение к коммиту. После применения команды файлы будут удалены из вашего рабочего каталога и не будут отслеживаться `Git`.\n\nСинтаксис команды `git rm`:\n\n```\ngit rm \u003cfile\u003e...\n```\n\nОсновные опции:\n\n* `--cached`: Удаляет файлы из индекса, сохраняя их в вашем рабочем каталоге. Это полезно, если вы хотите перестать отслеживать файл (например, добавить его в .gitignore), но не хотите физически удалять его из своей файловой системы.\n* `-f` или `--force`: Принудительно удаляет файлы, даже если они имеют изменения, отслеживаемые `Git`, или уже добавлены в индекс. Используйте с осторожностью, чтобы не потерять важные изменения.\n\nПример использования команды `git rm`:\n\n```\n$ git rm example.txt\n# Удаление файла example.txt из рабочего каталога и индекса.\n```\n\n```\n$ git rm --cached config.ini\n# Для удаления файла config.ini только из индекса, сохраняя его в рабочем каталоге.\n```\n\nПосле выполнения команды `git rm`, изменения готовы к коммиту. Это означает, что вы можете зафиксировать удаление файлов в истории репозитория, используя `git commit`.\n\nИспользование команды `git rm` обеспечивает чистый и управляемый способ удаления файлов из вашего репозитория, позволяя легко отслеживать и фиксировать такие изменения.\n\n\n### `git mv`\n\nКоманда `git mv` используется для перемещения или переименования файла или директории в репозитории `Git`. Это действие автоматически индексируется `Git`, что упрощает подготовку изменений к коммиту. В отличие от ручного переименования и последующего использования `git add` на новый файл и `git rm` на старый, `git mv` выполняет обе операции одновременно.\n\nСинтаксис команды `git mv`:\n\n```\ngit mv \u003cисточник\u003e \u003cназначение\u003e\n# \u003cисточник\u003e: текущее имя файла или директории.\n# \u003cназначение\u003e: новое имя файла или директории, или путь к директории, куда должен быть перемещён файл или директория.\n```\n\nПримеры использования команды `git mv`:\n\nПереименование файла:\n\n```\n$ git mv староеИмя.txt новоеИмя.txt\n# Эта команда переименовывает файл староеИмя.txt в новоеИмя.txt и автоматически индексирует это изменение для следующего коммита.\n```\n\nПеремещение файла в директорию:\n\n```\n$ git mv example.txt директория/\n# Эта команда перемещает файл example.txt в директорию директория/ и также индексирует это изменение.\n```\n\nПосле выполнения команды `git mv`, изменения готовы к коммиту. Вы можете использовать `git commit` для зафиксирования переименования или перемещения файлов в истории вашего репозитория.\n\nИспользование команды `git mv` обеспечивает эффективный и простой способ управления файлами и директориями в вашем репозитории, автоматически отслеживая эти изменения в системе контроля версий.\n\n---\n\n# C#-application for Git practice (ENG)\n\nThis is a project for training how to work with Git.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMindlessMuse666%2Fgit-practice-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMindlessMuse666%2Fgit-practice-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMindlessMuse666%2Fgit-practice-app/lists"}