Как удалить зависающую фиксацию из GitHub?

Вчера я нажал мою вилку ConnectBot на GitHub. Я толкнул один раз, понял, что я не сделал изменения так, как я хотел, переделал фиксацию и снова нажал.

Теперь GitHub имеет оба фиксации:

Моя главная ветвь отслеживает только вторую фиксацию, но первая фиксация все еще доступна и все еще находится в моем фиде активности. Как я могу удалить его, чтобы убедиться, что никто не случайно извлекает эту фиксацию вместо исправленной версии?

Ответы

Ответ 1

GitHub периодически будет мусор собирать любые коммиты (и другие объекты), которые не могут быть достигнуты с помощью ссылки верхнего уровня (например, тега или ветки или рефлога). Это означает, что со временем (скажем, в следующем месяце) этот объект исчезнет.

Pulling должен генерировать пакет, содержащий только объекты, на которые ссылаются, поэтому никто не должен получать это сообщение в результате клонирования или pull. Например,

$ git clone git://github.com/nylen/connectbot.git
Cloning into connectbot...
remote: Counting objects: 6261, done.
remote: Compressing objects: 100% (1900/1900), done.
remote: Total 6261 (delta 3739), reused 5980 (delta 3520)
Receiving objects: 100% (6261/6261), 3.04 MiB | 3.40 MiB/s, done.
Resolving deltas: 100% (3739/3739), done.
$ git cat-file -t 1cd775d
fatal: Not a valid object name 1cd775d

Если вам действительно нужно немедленно удалить его, вам, вероятно, придется обратиться в GitHub Support.

Ответ 2

Удаление репозитория и его повторное создание без плохой фиксации, похоже, работают, если вы можете позволить себе потерять все проблемы. Данные также исчезают из API фиксации (хотя push-события все еще видны). См. Также: fooobar.com/info/8973/...