Как убрать неиспользованный git коммит удаленный? - PullRequest
0 голосов
/ 17 апреля 2020

недавно я очистил репо git с помощью git rebase -i --root master. Я раздавил несколько коммитов вместе, отредактировал некоторые, соответственно установил время, и в конце я использовал git push --force-with-lease origin master для pu sh мое локальное состояние для удаленного.

Это сработало очень хорошо, и мой репо теперь очищен как показано здесь , но каким-то образом мне удалось найти старый коммит ha sh, и при его явном поиске по URL я все еще могу просмотреть старое дерево, которое больше не используется, так как видел здесь .

Итак, мой вопрос, возможно ли и как удалить эти старые коммиты / деревья из моего удаленного хранилища?

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 17 апреля 2020

Если вы хотите удалить их вручную, вы можете использовать команды pick и drop .

pick commitha sh drop commitha sh

Например: git rebase -i - root master выберите 2d224bc6cec9b33ae9b910dbef5efdd707625383 drop 2d224bc6cec9b33ae9b910dbef5efdd707625383

0 голосов
/ 17 апреля 2020

«Удаление» коммита на самом деле не удаляет это: оно остается на некоторое время. Вы просто не можете найти его больше, если вы не сохранили где-нибудь идентификатор ha sh.

Вы сохранили идентификатор ha sh, 3597386eaa550367e5531e4ec019f04e1d7e40df. Точнее, URL-адрес GitHub, который вы сохранили, включает в себя идентификатор ha sh, который вы затем предоставляете GitHub, чтобы они могли использовать идентификатор ha sh на своей стороне, и он все еще находит фиксацию, которая все еще там.

Он будет оставаться там, пока его нет. Точно, когда это будет трудно сказать: Git имеет команду обслуживания, которая очищает неиспользуемые коммиты. В своей собственной копии репозитория вы можете запустить эту команду обслуживания по собственному расписанию. В копии на GitHub вы зависите от их графика обслуживания.

(Если это действительно важно, вы можете попросить людей GitHub сделать раннюю очистку. Однако, большинство вещей, с которыми вы могли бы справиться таким образом, например, избавление от коммита, открывшего пароль, находятся в «слишком позднем» периоде к тому моменту, когда вы действительно сможете это сделать, поэтому редко есть какая-либо причина для беспокойства по этому поводу. )

0 голосов
/ 17 апреля 2020

Вы можете захотеть проверить этот ответ .

TL; DR:

Они будут удалены через некоторое время, если они не принадлежат к какой-либо ветви или тег.

...