Я нашел способ, вы можете использовать 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 тоже.
Вы понимаете это правильно. Однако вы можете копировать эти файлы на производственный сервер, вытаскивать локальное репо (которое стирает оригиналы), а затем восстанавливать файлы из копии. После этого эти файлы не будут отслеживаться, поэтому никакие (обычные) операции git, включая любые дальнейшие тяги, не будут перезаписаны или удалены.
edit:
На самом деле автор вопрос предлагает гораздо более приятное решение, использующее git rm --cached
на производственном сервере, который удалит файлы из индекса (позволяя им удаляться из репозитория в следующем коммите), но сохраняя их в рабочем дереве.
git rm --cached
по производству и вытолкнул его туда, а не локально. Будет ли это мешать мне скопировать каталог и вернуть его обратно? – dwbiz05 10 May 2016 в 18:47