К содержанию

Удаление файлов в Git

День добрый!

Вопрос конечно не связан с Modx, но может быть будет полезен кому-нибудь. Как правильно удалять файлы из репозитория?

Опишу ситуацию:
1. Создаю репозиторий:
git init
2. Создаю файлы на сервере file1.php, file2.php, file3.php, file4.php, file5.php и далее:
git add .
git commit -m "First commit"
git push origin
Теперь все файлы в репозитории.

3. После этого я удаляю с сервера файлы 2 и 3, а 1 изменяю и повторяю:
git add .
git commit -m "Сommit 2"
git push origin
4. Теперь в репозитории все те же 5 файлов, но файл 1 измененный, а git status выдает:
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    file2.php
#       deleted:    file3.php
#
no changes added to commit (use "git add" and/or "git commit -a")
Каким образом мне удалить из репозитория эти 2 файла так, чтобы в случае чего мог без проблем восстановить первый коммит (First commit). Т.е. в репозитории они отсутствуют (или стоит признак удаленного файла), на сервере их нет, но я могу в случае чего эти 2 файла восстановить.
Sphinx
Sphinx
22 мая 2017, 11:13
modx.pro
2 447
Реклама

Комментарии: 9

Роман Ильин
Роман Ильин Проверенный
22 мая 2017, 17:35
А как вы удаляете файлы? Через гит или руками?
    Sphinx
    Sphinx Старожил
    22 мая 2017, 18:05
    Файл удаляю с сервера руками.
    Пока вышло так, что вместо:
    git add .
    надо указать:
    git add -u
      Роман Ильин
      Роман Ильин Проверенный
      22 мая 2017, 18:14
      Возможно я неправильно понял вашу задачу, а почему вы не использовали для удаления:
      git rm

      А при необходимости восстановления:
      git revert <commit id>

      ?
        Sphinx
        Sphinx Старожил
        22 мая 2017, 18:27
        Да я только разбираюсь с гитом.
        Получилось так, что из части файлов я некоторые изменил на FTP, а некоторые удалил за ненадобностью. Потом их добавил через git add ., но удаленные файлы проигнорировались, вот и встал вопрос почему.
    Илья Уткин
    Илья Уткин Администратор
    23 мая 2017, 09:06
    Попробуй
    git add -A
      Sphinx
      Sphinx Старожил
      23 мая 2017, 09:45
      Что-то я не найду, что означает ключ -А
        Илья Уткин
        Илья Уткин Администратор
        23 мая 2017, 09:47
          Sphinx
          Sphinx Старожил
          23 мая 2017, 10:12
          Спасибо большое за ссылочку, буду пробовать.
          Интересно, согласно таблице git add . должен обрабатывать удаленные файлы, но этого не делает. Вчера пробовал, вчера же и написал об этом.
            Илья Уткин
            Илья Уткин Администратор
            23 мая 2017, 10:14
            Я думаю, дело в версии Git.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9