Вы знаете, что иногда в редких случаях разработчик решает реструктурировать структуру своего проекта.Когда дело доходит до этого, управление этой задачей является тихим и плавным процессом, если вы делаете это только в Android Studio, и, например, вы можете выполнить действия, описанные в этом решении, которое мне очень понравилось: Пакет переименования Android Studio
Однако, если вы делаете это, находясь в команде и, например, используете команды bitbucket и git, это оказывается довольно деликатным делом.
В моем случаеСначала я переименовал пакет с помощью Android Studio.Переименование было успешным, пока моя задача не была рассмотрена и отклонена, потому что в bitbucket, при выборе Показать разность => все изменения в этом запросе на извлечение , ну и все файлы в проектене помечены как MOVED или MODIFIED , но фактически помечены как DELETED и ADDED .
Поэтому, чтобы избежать каких-либонежелательных последствий, таких как потеря истории файлов, я перешел к переименованию пакета через командную строку Git, которые подробно описаны в следующих шагах:
- cd parent_folder ( package_to_be_renamed)
- git mv package_to_be_renamed new_package_name
и если выхотите добавить подпакет в свой пакет
- cd parent_package ( package_to_be_renamed )
- mkdir new_package_name
- git add new_package_name (note giпустая папка в хранилище не будет добавлена)
- git mv child_package new_package_name
- pwd результат => parent_package / new_package_name / child_package
И чтобы исправить ошибку проекта, не забудьте переименовать файл пакета, заменив старый пакет новым.,например, в Android Studio: cmd + shift + r => заменить parent_package.child_package на parent_package.new_package_name.child_package
После нажатия этих изменений битовое ведро покажет снова всефайлы как DELETED и ADDED , а при выборе фиксации они отображаются как MOVED ..
Так, чтобы убедиться, что всеОтлично, я создал ветку из master (master-test-renaming) и слил мой repackaging_branch в эту новую ветку.Результат: проект рабочий FINE с новым именем пакета.И файлы истории по-прежнему можно отслеживать в Android Studio Git, показать историю.
Сейчас Мой вопрос: Почему bitbucket отображает файлы как удалены и добавлены (при выборе Показать разность => все изменения в этом запросе ) ???