We have Sitecore out of box package designer to package items and to move it to another instance. Let’s say we have two instance of Sitecore. First one is integrated with Active directory 1 (for example: ad1) and second with active directory 2(ad2). But it is really important to unlock all the items before packaging and installing it in another instance.
Scenario: In Instance 1 (ad1), a user (ad1\user1) locks an item. Sitecore item will be locked with ad1\user1 id. User packages the item and moves it to another instance. User installs the package in second instance. Those items will be still locked with ad1\user1 in second instance too. Importantly even if you login with admin user and try to unlock the item, admin will not be able to unlock it.
Resolution: Go to first instance, unlock the item, package it and install it in second instance.