Существует множество способов посмотреть, как вы можете координировать содержимое между рабочими каталогами двух машин.
Самое основное: если вы зафиксировали изменения на машине A и хотите получить их на машине B, вы можете извлечь их из A в B, чтобы у A и B был патч через один и тот же коммит..Иногда это не подходящий ответ, и поэтому возможны другие способы.Но то, что имеет смысл для того, что вы делаете, зависит от того, что вы делаете, и мы еще не знаем достаточно, чтобы обязательно решить эту проблему.
Так что мы можем продолжить это, если это имеет смысл,но давайте начнем с выяснения возможного концептуального недопонимания:
(в рабочем каталоге A) Я выполнил git pull и ожидал, что мой локальный коммит исчезнет.Это не так.
Мой вопрос: почему это ожидаемое поведение?В общем, вы не хотите, чтобы ваши локальные изменения исчезали при удалении изменений;вместо этого вы хотите объединить их.
Теперь, в конкретном случае, когда локальные изменения и удаленные изменения идентичны, вы могли бы действительно захотеть, чтобы локальные изменения исчезли, и если выперебазируйте локальные изменения на вновь извлеченные удаленные изменения, и это то, что должно произойти.
git pull --rebase
Теперь, если в процессе перебазирования ваших локальных изменений в извлеченные изменения, git обнаружит, что патч локального коммита точно такой же, как патч для одного из извлеченныхкоммиты, локальный коммит будет отброшен.
Возможно, вы ожидали такого поведения, потому что в прошлом вы использовали репозитории, настроенные для перебазирования по запросу по умолчанию?Имейте в виду, что автоматическая перебазировка задокументирована как «потенциально опасная» функция, поэтому вы можете подумать, действительно ли она является лучшей по умолчанию;но если это значение по умолчанию, ищите pull.rebase
в документации по git config: https://git -scm.com / docs / git-config