Rename of source string identifiers

What is the safest way to rename a source string identifier (in an xml file) without loosing all the translations. I know that there are is a setting to handle Changed Strings Updates but this is for the string content and not the identifier. Also, it is possible in Crowdin/content/strings to edit a string and change the identifier while keeping all translations.
But in our project, sometimes string identifiers are changed using a pull request.

Hi, if you change ID itself system would anyway recognize it as a new string.

Depending on your workflow, I can recommend Translation Memory Pre Translation and/or Duplicates . Working with duplicate would require you not to update the file, but to upload a new one - so stings would become duplicated + translated (it would keep authority of translations).

Pre translation would be used on your behalf, so author of translation = you.