Я думаю, що git fetch - це те, що ти шукаєш.
Він буде тягнути зміни та об'єкти, не привласнюючи їх до індексу місцевого репо.
Пізніше вони можуть бути об'єднані з git merge .
Сторінка людини
Редагувати: Подальше пояснення
Прямо від посилання на курс Git-SVN Crash
Тепер, як отримати нові зміни з віддаленого сховища? Ви отримуєте їх:
git fetch http://host.xz/path/to/repo.git/
На даний момент вони знаходяться у вашому сховищі, і ви можете вивчити їх за допомогою:
git log origin
Ви також можете відрізняти зміни. Ви також можете скористатися журналом git HEAD..origin, щоб побачити лише ті зміни, які у вашій філії немає. Тоді, якщо хочете їх об’єднати - просто зробіть:
git merge origin
Зауважте, що якщо ви не вказали гілку для отримання, вона зручно за замовчуванням для дистанційного відстеження.
Читання чоловічої сторінки справді допоможе вам найкраще зрозуміти варіанти та способи її використання.
Я просто намагаюся це зробити на прикладах і пам’яті, в даний час у мене немає вікна, на якому можна перевірити. Ви повинні подивитися:
git log -p //log with diff
Вибір може бути скасований за допомогою скидання git --hard ( посилання ), однак усі непослані зміни у вашому дереві будуть втрачені, а також зміни, які ви отримали.