Как получить определенную фиксацию из проекта GitHub

Мне нужно загрузить API Facebook из GitHub. Обычно я просто нажимаю на вкладку "Загрузки", чтобы загрузить последний исходный код. В этом случае мне нужно более старое коммитирование: 91f256424531030a454548693c3a6ca49ca3f35a, но я понятия не имею, как получить весь проект от этой фиксации...

Может кто-нибудь, пожалуйста, скажите мне, как это сделать?

(BTW, im на маке. Не знаю, имеет ли это значение).

Ответ 1

Сначала, клонируйте репозиторий, используя git, например. с:

git clone git://github.com/facebook/facebook-ios-sdk.git

Это загружает всю историю репозитория, поэтому вы можете переключиться на любую версию. Затем перейдите во вновь клонированный репозиторий:

cd facebook-ios-sdk

... и используйте git checkout <COMMIT> для изменения в правом фиксации:

git checkout 91f25642453

Это даст вам предупреждение, так как вы больше не находитесь на ветке и переключились непосредственно на определенную версию. (Это называется статусом "отсоединенный HEAD".) Поскольку это звучит так, как будто вы хотите использовать этот SDK, а не активно его развивать, это не то, о чем вам нужно беспокоиться, если вам не интересно узнать подробнее о том, как работает git.

Ответ 2

Я не знаю, было ли это там, когда вы разместили этот вопрос, но лучший и самый простой способ загрузить фиксацию - щелкнуть вкладку фиксации при просмотре репозитория. Затем вместо того, чтобы нажимать на имя фиксации, нажмите "Обзор репозитория" в этот момент в кнопке истории с символом < > в правой части имени/сообщения фиксации и, наконец, в ZIP-архиве который появляется, когда вы нажимаете кнопку "Клонировать" или "Загрузить".

Надеюсь, это поможет вам, ребята.

Ответ 3

Ответ Sivan в gif введите описание изображения здесь

1.Нажмите на коммит в github

2.Выберите "Просмотр кода с правой стороны каждой фиксации"

3. Нажмите на загрузку zip, которая будет загружать исходный код в тот момент времени фиксации

Ответ 4

Самый простой способ восстановить потерянную фиксацию (которая существует только в github, а не локально) - создать новую ветвь, включающую эту фиксацию.

  • Имейте фиксацию открытой (url like: github.com/org/repo/commit/long-commit-sha)
  • Нажмите "Обзор файлов" в правом верхнем углу.
  • Нажмите раскрывающийся список "Дерево: короткое..." в верхнем левом углу.
  • Введите новое имя ветки
  • git pull новая ветвь до локальной

Ответ 5

Если вы хотите пойти с какой-либо определенной фиксацией или хотите получить код какой-либо определенной фиксации, вы можете использовать следующую команду:

git reset --hard  <commit ID which code you want>
git push --force

Пример:

 git reset --hard fbee9dd 
 git push --force

Ответ 6

Если вы действительно хотите скачать коммит, 7-значный SHA1 короткой форме.

Пример шаблона: https://github.com/username/projectname/archive/commitshakey.zip

Фактический рабочий пример:   https://github.com/python/cpython/archive/31af650.zip

Если у вас длинный хеш-ключ 31af650ee25f65794b75d4dfefed6fe4758781c1, просто получите первые 7 символов 31af650. Это значение по умолчанию для GitHub.