#git #atlassian-sourcetree
#git #atlassian-sourcetree
Вопрос:
MRE:
- Настройте SourceTree с нашей кодовой базой.
- У вас должно быть как минимум 1 коммит за удаленным репозиторием нашей кодовой базы.
- Не извлекайте, напрямую фиксируйте любой файл.
- Вы увидите
1
уведомление в кнопке git push в ST. - Теперь потяните.
- Обратите внимание, что число меняется на
2
в кнопке git.
Может кто-нибудь, пожалуйста, скажите мне, почему? Представляет ли это число количество коммитов или что-то еще?
Ответ №1:
Извлечение, вероятно, привело к фиксации слияния, объединив локальные изменения, которые у вас были, с 1 удаленным изменением.
--------------L local
--------------R remote
После извлечения
--------------LM local
/
--------------R remote
Теперь у вас есть 2 коммита (LM) перед удаленным, ваше исходное изменение слияние с удаленным. Несмотря на то, что ваше содержимое теперь синхронизировано с удаленным.
Альтернативой было бы выполнить перебазирование, которое перепишет вашу локальную историю для воспроизведения ваших изменений на удаленном компьютере:
---------------L local
--------------R remote
После pull-rebase:
--------------RN local
--------------R remote
L будет переписан, чтобы вместо этого иметь R в качестве родительского элемента, что приведет к новой локальной фиксации (N).