Вы пытались скопировать все файлы и получить слияние, но это не сработало.Это должно сработать, но я думаю, что вам, возможно, придется выполнить несколько разных шагов, которые я постараюсь объяснить.
Должен быть тег или регистрация 3RDPARTY
, которая была идентична точке регистрации в вашемэкспортная среда, которая является первой регистрацией на LOCAL
.Я назову эту регистрацию MERGE_BASE
.Поэтому попробуйте выполнить следующие действия:
- Прежде всего выполните
git checkout master
на REMOTE
и убедитесь, что оно соответствует 3RDPARTY
с git pull origin
. - In
REMOTE
git branch mergeb <MERGE_BASE>
<MERGE_BASE>
- это регистрация, о которой я говорил в истории, которая идентична или почти идентична той, которую вы имели бы при первоначальном создании LOCAL
. - Скопируйте источникдля вашей самой последней версии в
LOCAL
прямо поверх файлов в вашей ветке mergeb
, которую мы только что создали в REMOTE
.НЕ копируйте каталог .git! - В
REMOTE
в ветке mergeb
используйте git add
, чтобы убедиться, что все ваши изменения применены к индексу git, а затем запустите git commit
.Теперь ваша ветка REMOTE
mergeb
должна иметь источник, идентичный тому, что находится в LOCAL
.(вы можете использовать git remotes, чтобы сделать это с вашими ЛОКАЛЬНЫМИ изменениями, но так как вам не нужна история, я рекомендую просто сделать это таким образом, чтобы упростить процесс). - Снова извлеките основную ветвь
git checkout master
. - На этом этапе создайте новую ветку, которую вы будете использовать, чтобы внести в нее свой вклад. Do
git checkout -b remote_work
. - Теперь просто объедините ветку
mergeb
с вашей веткой remote_work
.с git merge --no-ff mergeb
.В этот момент у вас, вероятно, будут все конфликтующие слияния с их работой и вашей работой для ее разрешения.
Как только вы закончите этот процесс и передадите работу в свою ветку, вы должны быть в том же состоянии, в каком выwanted.
После всего этого, если вы хотите, чтобы вся ваша работа выглядела так, как будто вы начали с того, что в данный момент находится в 3RDPARTY
, а в ветке remote_work
на REMOTE
просто выполните git rebase master
.
С этого момента я буду сохранять мастер на REMOTE
синхронизированным с их репо 3RDPARTY
и сохраняю ваши изменения, которые не были перенесены в 3RDPARTY
в remote_work
или других различных ветвях наREMOTE
репо.
Дайте мне знать, если этот процесс сработает для вас.