Вы знаете, что иногда в редких случаях разработчик решает реструктурировать структуру упаковки своего проекта. Когда дело доходит до этого, управление этой задачей - это тихий и плавный процесс, если вы делаете это только в Android Studio, и, например, вы можете выполнить шаги в этом решении, которое для меня отлично сработало: Переименование пакета Android Studio
Однако, если вы делаете это в команде и используете, например, команды bitbucket и git, это окажется деликатным вопросом.
В моем случае я приступил к переименованию пакетов с помощью Android Studio на первом этапе. Переименование было успешным до тех пор, пока моя задача не была рассмотрена и отклонена, потому что в битовом пакете при выборе Показать разницу => все изменения в этом запросе на перенос, ну, все файлы в проекте не помечаются как ВЗОЛНОВАННЫЙ или ИЗМЕНЕНО, но фактически отмечены как УДАЛЕНО и ДОБАВЛЕН.
Поэтому, чтобы избежать каких-либо нежелательных последствий, таких как потеря истории файлов, я перешел к переименованию пакета через командную строку Git, что подробно описано в следующих шагах:
и если вы хотите добавить подпакет в свой пакет
И чтобы исправить ошибку проекта, не забудьте переименовать файл пакета, заменив старый пакет новым. например, в Android Studio: cmd + shift + r => заменить parent_package.child_package на parent_package.new_package_name.child_package
После нажатия этих изменений битовый пакет снова показывает все файлы как УДАЛЕНО и ДОБАВЛЕН, а при выборе фиксации они отображаются как ВЗОЛНОВАННЫЙ ..
Итак, чтобы убедиться, что все в порядке, я создал ветку от мастера (мастер-тест-переименование) и слил свой repackaging_branch в эту новую ветку. Результат: проект работает ОТЛИЧНО с новым именем пакета. И файлы истории по-прежнему можно отслеживать в Android Studio Git, показать историю.
Сейчас мой вопрос: Почемубитбакетотображаеттофайлыв видеудалено и добавлен (при выборе Показать разницу => все изменения в этом запросе на перенос) ???
@TimBiegeleisen, продолжая использовать команды git, на самом деле я не потерял никакой истории, и да, это рискованный шаг. Но иногда вы вынуждены обновить название вашего пакета, и это сбивает с толку, когда вы имеете дело с такой задачей, когда вы находите свои файлы удалено. С личной точки зрения, этот перемещение / переименование должен быть немного более понятным, когда вы используете битбакет в качестве примера.
Я считаю, что Git использует нечеткое сопоставление с образцом для отслеживания имен файлов во время операций перемещения / переименования. Если нет, то это отображается как удаление с последующим добавлением другого файла.
Вы пробовали просто создать новый каталог, а затем переместить все файлы? Я считаю, что Git распознает «перемещенные» файлы (таким образом, сохраняя историю).
то же самое с мерзавецмв, я просто перемещаю свои файлы в другой каталог, но я все еще не знаю, почему битбакет показывает файлы как удалено
Логика Git относительно того, как он обрабатывает перемещение / переименование файлов, нечеткая, и нет гарантии, что история будет сохранена. Если вы абсолютно хотите сохранить историю, не перемещайте папки таким образом. Возможно, удастся переписать всю вашу историю, но это также имеет серьезные оговорки.