Не понимая конкретный сценарий, над которым вы пытаетесь разобраться, трудно понять, почему вы хотите это сделать. У меня такое ощущение, что вы пытаетесь вносить контролируемые изменения в изолированной среде, чтобы избежать влияния на других пользователей / приложений.
Не могли бы вы решить эту проблему с помощью
- Создать ветку для изменения вашего кода
- Выполните копирование / перемещение и внесение изменений в ветку
- Заставьте другую сторону переключиться на эту новую ветку кода и продолжите делиться этой веткой
Когда вы оба согласитесь с изменениями, объединитесь в магистраль с помощью аргумента --reintegrate и запустите ветвь?
Это будет
* Поддерживать слияние-информация
* Определить копирование / перемещение и изменения в управлении версиями
* По-прежнему изолировать изменения от других пользователей
* Будет предотвращать неполные изменения во время шага 2, поскольку вы можете просто добавить больше изменений и обновить