Как удалить болтающуюся фиксацию из GitHub?
Вчера я нажал на my fork of ConnectBot on GitHub. Я нажал один раз, понял, что 9X_git не внес изменения так, как хотел, переделал 9X_git-commands фиксацию и снова нажал.
Теперь на GitHub 9X_git-dangling есть обе коммиты:
- https://github.com/nylen/connectbot/commit/1cd775d - первая, «плохая» фиксация
- https://github.com/nylen/connectbot/commit/987671c - тот, который я хочу оставить
Моя основная ветвь отслеживает 9X_git-dangling только вторую фиксацию, но первая фиксация 9X_git все еще доступна и все еще находится в моем 9X_git фиде действий. Как я могу удалить его, чтобы 9X_git-dangling убедиться, что никто случайно не вытащил 9X_github этот коммит вместо исправленной версии?
- Спустя 8 лет обе коммиты все еще существуют - принятый ответ, очевидно, неверен.<p> ...
Ответ #1
Ответ на вопрос: Как удалить болтающуюся фиксацию из GitHub?
GitHub будет периодически собирать мусор 9X_github любые коммиты (и другие объекты), которые 9X_github не могут быть достигнуты из ссылки верхнего 9X_git-dangling уровня (например, тега, ветки или журнала 9X_github reflog). Это означает, что со временем (скажем, в 9X_git-commands следующем месяце) этот объект исчезнет.
При 9X_git-commands извлечении должен генерироваться пакет, содержащий 9X_git-dangling только объекты, на которые имеются ссылки, поэтому 9X_git-commands никто не должен получать эту фиксацию в 9X_git-dangling результате клонирования или извлечения. Например,
$ 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
Если 9X_github вам действительно нужно немедленно удалить 9X_git его, вам, вероятно, придется связаться с 9X_git GitHub Support.
- Вам необходимо связаться со службой поддержки GitHub (как [указано здесь] (https://help.github.com/articles/remove-sensitive-data/) ...
Ответ #2
Ответ на вопрос: Как удалить болтающуюся фиксацию из GitHub?
Удалите репо или свяжитесь с GitHub
Удаление репо и его воссоздание без плохой 9X_git фиксации, похоже, работает, если вы можете 9X_git-dangling позволить себе потерять все проблемы. Данные 9X_git-dangling также исчезают из API фиксации (хотя push-события 9X_github все еще видны). См. Также: https://stackoverflow.com/a/32840254/895245
Если вы не можете 9X_git-commands позволить себе потерять данные о проблемах, служба 9X_git поддержки GitHub может вручную удалить зависшие 9X_git-commands коммиты. Например, когда я uploaded all GitHub commit emails to a repo, они попросили 9X_git-commands меня удалить его, я это сделал, и они сделали 9X_git-dangling gc
. Запросы на извлечение, содержащие данные 9X_git-dangling have to be deleted however: эти данные репо оставались доступными 9X_git в течение одного года после первоначального 9X_github удаления из-за этого.
Их текущий help page says:
вы можете 9X_git-commands навсегда удалить все кэшированные представления 9X_git-commands и запросы на вытягивание на GitHub, обратившись 9X_github в службу поддержки GitHub.
Возможно, закрытие 9X_git-dangling репозитория также позволит избежать проблем 9X_git и избавиться от фиксации, я не уверен. Однако 9X_git-commands вы наверняка теряете старты / вилки. Не 9X_github уверен, исчезнут ли после восстановления 9X_git коммиты или нет. Но, по крайней мере, вы 9X_git можете сохранить личные резервные копии 9X_github проблем.
- Обратите внимание: вы такж ...
-
7
-
5
-
6
-
4
-
19
-
3
-
15
-
4
-
4
-
2
-
18
-
7
-
8
-
4
-
8
-
14
-
7
-
4
-
21
-
4
-
8
-
4
-
3
-
3
-
2
-
4
-
8
-
21
-
28
-
7
-
3
-
5
-
10
-
3
-
13
-
4
-
4
-
2
-
4
-
4
-
10
-
3
-
6
-
16
-
3
-
11
-
3
-
5
-
4
-
11