Отримати конкретний комміт з віддаленого Git-репозиторію
Чи є спосіб отримати тільки один конкретний комміт з віддаленого Git-репозиторію, не клонуючи його на моєму комп'ютері? Структура віддаленого репозиторію абсолютно така ж, як і у мене, а отже, конфліктів не буде, але я не знаю, як це зробити, і не хочу клонувати цей величезний репозиторій.
Я новачок в git'і, чи є якийсь спосіб?
178
3
Ви можете клонувати тільки один раз, тому якщо у вас вже є клон віддаленого сховища, витягування з нього не призведе до повторного завантаження всього наново. Просто вкажіть, яку гілку ви хочете витягнути, або витягніть зміни і перевірте потрібний вам комміт.
Отримання з нового сховища є дуже дешевим за пропускною здатністю, оскільки воно завантажить лише ті зміни, яких у вас немає. Подумайте про те, щоб Git робив правильні речі з мінімальним навантаженням.
Git зберігає все в теці
.git
. Комміт не може бути отриманий і збережений ізольовано, йому потрібні всі його предки. Вони взаємопов'язані.Однак, щоб зменшити розмір завантаження, ви можете попросити git витягувати лише об'єкти, пов'язані з певною гілкою або комітом:
Це дозволить завантажити лише ті комміти, що містяться у віддаленій гілці
branch
(і лише ті, які ви пропустили), і зберегти їх уorigin/branch
. Після цього ви можете об'єднати або виписати.Ви також можете вказати тільки SHA1-комміти:
Це завантажить тільки комміт вказаного SHA-1 96de5297df870 (і його предків, які ви пропустили), і збереже його як (неіснуючу) віддалену гілку
origin/foo-commit
.Я витягнув свій git repo:
Дозволивши git'у витягнути весь код для гілки, а потім я пішов робити скидання до комміту, який мене цікавив.
git reset --hard
.Сподіваюся, це допоможе.
Ви можете просто отримати один комміт віддаленого репо за допомогою
де,
може бути ім'ям віддаленого репозиторію (наприклад,
origin) або навіть URL-адресою віддаленого репозиторію (наприклад,
https://git.foo.com/myrepo.git`)наприклад
після того, як ви отримали комміт (і відсутніх предків), ви можете просто перевірити його за допомогою
Зауважте, що це приведе вас у стан "відокремленої голови".