Пользователям git необходимо работать с разными типами файлов в локальном репозитории. Файл добавляется в репозиторий с помощью команды `git add`, и это называется размещением файла в локальном репозитории. Пользователь может подтвердить задачу добавления файла с помощью команды `git commit`. Но предположим, что пользователь случайно добавил какой-либо файл и не хочет сохранять файл в репозитории после добавления. В этом случае он/она может удалить файл из рабочей области, используя команду `git reset` или удалив файл. Промежуточный индекс находится в .git/index. Если пользователь изменяет содержимое любого добавленного файла, он должен снова добавить файл, чтобы сохранить изменения, или восстановить файл на предыдущем этапе, чтобы отменить изменения. В этой статьи объяснены различные способы деактивации файла локального репозитория git.
Предпосылки:
Установите GitHub Desktop.
GitHub Desktop помогает пользователю git графически выполнять задачи, связанные с git. Вы можете легко загрузить последнюю версию этого приложения для Ubuntu с github.com. Вы должны установить и настроить это приложение после загрузки, чтобы использовать его.
Создайте учетную запись GitHub
Вам потребуется создать учетную запись GitHub, чтобы проверить вывод команд, используемых здесь на удаленном сервере.
Создайте локальный и удаленный репозиторий
Вам необходимо создать локальный репозиторий и опубликовать репозиторий на удаленном сервере, чтобы протестировать команды, используемые в этом руководстве. Перейдите в папку локального репозитория, чтобы проверить команды, используемые в этой статье.
Удалить файл с помощью git reset:
В этой части статьи показан способ отключения любого файла репозитория с помощью команды `git reset`. Пользователь может отключить все файлы или конкретный файл или зафиксированный файл с помощью этой команды.
Деактивировать все файлы
Выполните следующую команду, чтобы проверить текущий статус репозитория.
$ git status
Следующий вывод показывает, что файл upload1.php изменен. Измененный файл можно добавить повторно или восстановить старый файл.
Выполните следующие команды, чтобы добавить измененный файл upload1.php в репозиторий, проверить статус, отключить все промежуточные файлы и снова проверить статус.
$ git add upload1.php $ git status $ git reset $ git status
Следующий вывод показывает, что измененный файл был сохранен в рабочей области git после выполнения команды `git add`. Файл снова деактивируется после выполнения команды git reset.
Деактивировать определенный файл
Команду `git reset` можно использовать для деактивации определенного файла, указав имя файла с помощью этой команды. Выполните следующую команду, чтобы проверить текущий статус репозитория.
$ git status
Следующий вывод показывает, что в текущем репозитории были изменены два файла. Это upload1.php и upload5.php.
Выполните следующие команды, чтобы добавить измененные файлы и снова проверить статус.
$ git add upload1.php $ git add upload5.php $ git status
Следующий вывод показывает, что два измененных файла теперь хранятся в рабочей области репозитория.
Выполните следующие команды, чтобы удалить файл upload5.php из репозитория и снова проверить состояние репозитория.
$ git reset upload5.php $ git status
Следующий вывод показывает, что файл upload5.php не загружен, а файл upload1.php был сохранен в рабочей области.
Неустановленный файл с фиксированным кодом
В предыдущей части этой статьи команда git reset использовалась для деактивации незафиксированных файлов репозитория. В этой части показано, как деактивировать зафиксированный файл.
Выполните следующую команду, чтобы проверить состояние репозитория и зафиксировать подготовленный файл с сообщением о фиксации.
$ git status $ git commit -m "upload1.php updated."
Вывод `git status` показал, что файл upload1.php хранится в рабочей области, а upload5.php не размещается. Затем файл upload1.php был обновлен с помощью команды git commit.
Теперь выполните следующую команду, чтобы отключить последнюю зафиксированную задачу и снова проверить состояние репозитория.
$ git reset HEAD~1 $ git status
Следующий вывод показывает, что файл upload1.php, зафиксированный ранее, не размещается после выполнения команды git reset.
Выключите файл с помощью команды rm:
Использование команды git rm – еще один способ деактивировать файл репозитория. Выполните следующую команду, чтобы добавить измененный файл с именем upload1.php в репозиторий и проверить текущий статус репозитория.
$ git add upload1.php $ git status
Следующие выходные данные показывают, что файл upload1.php был сохранен в области этапа репозитория и может быть зафиксирован сейчас или восстановлен на предыдущем этапе.
Команда git rm используется для окончательного удаления любого файла из репозитория. Но если пользователь хочет деактивировать какой-либо файл, не удаляя файл из репозитория с помощью команды git rm, то параметр –cache потребуется использовать с командой git rm. Выполните следующие команды, чтобы деактивировать файл upload1.php , сохранив файл в репозитории и проверив статус репозитория.
$ git rm upload1.php --cache $ git status
Следующий вывод показывает, что upload1.php не загружен, но файл не удален из репозитория.
Заключение:
В этой статье показаны два различных способа деактивировать файлы репозитория с помощью локального демонстрационного репозитория. Команды git reset и git rm использовались для деактивации поэтапных файлов, чтобы помочь пользователю git применить команду unstage в своем репозитории.