Localization with GIT

We are using Localization package heavily in our project. Overall, this is a great package except for one thing. git conflict. There is so many footgun that we have to deal with to prevent git conflict but sometimes it happens anyway?
example scenarios
1.PersonA create localization table in their local and didn’t push it to git(because they are still assigning the data or testing or whatever), then PersonB create localization table and push up, now if person A later pull to get the latest commit, there will be merge conflict.

We avoid this by setting up rule for the team to always push their table first after they created it and always pull commit before they create any table. But this has obvious downside that it forces the team to push/pull git whenever they want to create table.

2.When creating localization asset table, there are new files (shared & locale tables) but we have to manually build addressable so the new table get added to addressable. We used to not do this because it is not required for string table, but it can potentially result in conflict for asset table.

3.when adding entries to asset table why is AddressableAssetSetting’s hash get dirty and get reset to this value? Do we commit this? do we discard it? WHAT IS HAPPENING?

I think using Localization package with version control deserve its own doc section.

I’m not entirely sure I understand.
If you are both editing the same asset then you can get merge issues, this applies to any asset type, not just localization.
We have some features builtin to aid with this, we generate unique ids peer machine so that you can both work on the same asset without conflicting ids being generated. Table Keys Generation | Localization | 1.4.5

We have a tool that may also help Unity - Manual: Smart merge

Im not sure about the addressables issues, I would commit any changes that are made to addressables.