можно ли использовать «git reset hard» после потери доступа к хранилищу? - PullRequest
0 голосов
/ 11 июня 2019

Я использую gitlab. В середине проекта я добавил еще одного участника в проект (репо). Но сейчас я не хочу, чтобы он имел доступ к моему исходному коду.

Я хочу удалить каталог src и отправить изменения, затем попросить его вытащить, а затем удалить его из репозитория.

Сможет ли он отменить изменения, используя git reset --hard или что-то еще после потери доступа к репо?

Ответы [ 5 ]

3 голосов
/ 11 июня 2019

Пользователь имеет доступ к коммитам, которые он уже имеет на своем компьютере. Это является частью идеи децентрализованной системы контроля версий.

Если вы удалите код, это приведет к фиксации, представляющей «удаление». Он может легко сбросить коммит до удаления. Даже если вы манипулируете историей, а он извлекает эти изменения, локальный репозиторий все еще имеет доступные изменения. Если он знает идентификатор фиксации ранее, он может использовать его для восстановления кода.

Если git не запустит сборку мусора, тогда изменения будут пропущены. По умолчанию это выполняется каждые две недели. Только тогда он может потерять доступ.

Вместо того, чтобы просить его вытащить, попробуйте попросить его удалить свой локальный репозиторий. Это принесет вам больше уверенности.

1 голос
/ 11 июня 2019

Если вы не хотите, чтобы у него был доступ к вашему репо на удаленном компьютере (gitlab), вы можете просто удалить его из списка людей, имевших доступ к удаленному (вы можете сделать это с помощью: Администрирование области <проекты <управление access <Users), тогда у него больше не будет доступа к вашему пульту, хотя он может делать со своей локальной копией все, что захочет, за исключением нажатия, извлечения, извлечения ... Надеюсь, это поможет, если я хорошо отвечу на ваш вопрос. </p>

1 голос
/ 11 июня 2019

Да, у него есть local copy хранилище на его машине, поэтому он может делать все на своем local branch, но не может отправить эти changes на ваш remote repository.

Так что вам нужно попросить его delete хранилище со своей машины.

1 голос
/ 11 июня 2019

Я не уверен, что понимаю ваш план по отключению его доступа, но, опять же, если вы удалите кого-то из проекта gitlab, он не сможет получить доступ к чему-либо удаленно (gitlab), но не помешает им использоватьвытащенные файлы и история мерзавцев в локальных папках.

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

0 голосов
/ 11 июня 2019

Да, может, если потянет всю историю.Он все еще может найти src в старых коммитах.

Если вы хотите, чтобы у него был доступ только к последней ревизии, вы можете

  1. сделать архив последней фиксации иотправьте ему заархивированный код, чтобы он мог создать хранилище из этого кода и работать над ним;
  2. или создать потерянную ветку из последнего коммита и предоставить ему доступ только к этой ветке;
  3. или создайте для него новый репозиторий в Gitlab и перенесите только потерянную ветвь из текущего репозитория в новый.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...