GIT - остановить файл отслеживания, не удаляя его с сервера [duplicate]

Я нашел способ, вы можете использовать json для сериализации / unserialize списка. Сериализованный список не ссылается на исходный объект при несериализации.

Использование gson:

List<CategoryModel> originalList = new ArrayList<>(); // add some items later
String listAsJson = gson.toJson(originalList);
List<CategoryModel> newList = new Gson().fromJson(listAsJson, new TypeToken<List<CategoryModel>>() {}.getType());

Вы можете сделать это с помощью jackson и любой другой библиотеки json тоже.

1
задан dwbiz05 10 May 2016 в 18:37
поделиться

1 ответ

Вы понимаете это правильно. Однако вы можете копировать эти файлы на производственный сервер, вытаскивать локальное репо (которое стирает оригиналы), а затем восстанавливать файлы из копии. После этого эти файлы не будут отслеживаться, поэтому никакие (обычные) операции git, включая любые дальнейшие тяги, не будут перезаписаны или удалены.

edit:

На самом деле автор вопрос предлагает гораздо более приятное решение, использующее git rm --cached на производственном сервере, который удалит файлы из индекса (позволяя им удаляться из репозитория в следующем коммите), но сохраняя их в рабочем дереве.

0
ответ дан mszymborski 18 August 2018 в 09:15
поделиться
  • 1
    Я знаю, что это, вероятно, не самый лучший вариант, но что, если бы я сделал git rm --cached по производству и вытолкнул его туда, а не локально. Будет ли это мешать мне скопировать каталог и вернуть его обратно? – dwbiz05 10 May 2016 в 18:47
  • 2
    Да, это тоже сработает. – mszymborski 10 May 2016 в 18:48
  • 3
    Потрясающие. Я попробую, тогда примите ваш ответ. – dwbiz05 10 May 2016 в 18:49
Другие вопросы по тегам:

Похожие вопросы: