ПредишенСледващото

Един ден, докато работите с Git хранилището, ти случайно да изпратите (zakomitit) хранилища лични данни за вход, пароли и ключове за SSH. Разбира се, с помощта на Git RM да изтриете файла, но файла също ще присъства в историята. За щастие, има инструменти, които ви позволяват да изтриете файл от Git хранилището напълно. В тази статия ще опишем как да използвате BFG Репо-Cleaner и Git-филтър-власт да премахнем напълно файл от Git хранилището.

Важно: след като частен данните на файла има в хранилището, всички данни в него могат да се считат компрометиран и трябва да се приема веднага стъпки (сменят паролите и т.н.). Няма възможност да се проследи би могъл някой да види реклама или да изтеглите тези файлове.

Git-филтър-клон

Започнете може би си струва да Git-филтър-клон. тъй като този инструмент е част от Git и не изисква инсталация.

Отидете до директорията, че проекта:

Първото нещо, което да се направи - е да се уверим, че имаме най-новата версия на хранилището, и няма местни промени.

Да предположим, че ние случайно zakomitili .environment на хранилище файл, където можем да я съхраним в базата данни. Проектът е в активна база данни за развитие и Execu тест, но паролата е същата навика да се използва за влизане или някъде другаде. Познати ситуация. )

Веднъж бяхме убедени, че имаме най-новата версия и няма локални промени, можете да изтриете файла:

Като резултат от тази команда, във всяка ангажират хранилище ще бъдат премахнати .environment файл. Ако искате да премахнете директория, а след това да Git RM, трябва да добавите ключовата -f:

Ако има повече файлове да бъдат изтрити - изпълните тази команда за всеки от тях.

Важно. за да се избегне повторение на тази неприятна ситуация, трябва да се добави в .gitignore:

Сега zakomitim всички наши промени:

Ако използвате ключови думи:

Важно. след всички промени, извършени от всички останали, които са работили с това хранилище, което трябва да rebase. Или изтриване на местното хранилище и го клонират отново. По-добре от предишната, тъй като по-малко вероятно да се застреля в крака, особено ако отборът е Джуно. )

BFG Репо-Cleaner

BFG Репо-Cleaner - е прост и лесен алтернатива на Git-филтър-клон за отстраняване на нежеланите файлове от хранилището на Git. Например, за да се отстрани .environment файл както в примера на Git-филтър-клон горе:

Въпреки факта, че файла и може да бъде отстранен, след като случайно се ангажират, то трябва да се избягва. Има няколко прости неща, които трябва да се избягват, както и използване обратното:

  • Използвайте графичен интерфейс за Git. В тях ясно личи, които се добавят файлове на ангажират. Всички среди за разработка обикновено имат или добавка или с вградени инструменти за работа с Git, които помагат да се избегнат подобни грешки. Ако развитието на околната среда, който използвате, не разполага със средства за работа с Git, т.е. графичен interefeysa. Веднъж написах една малка преглед на ГПИ за Git;
  • Избягвайте такива опасни команди като Git добавка. и Git Git добавите -А ангажират -а. Вместо това добавете отделни файлове от добавката на Git;
  • Използвайте Git добавите --interactive интерактивно да преглеждате и добавяне на файлове;
  • Преди да добавите файлове, за да видите какви файлове са били променени внимателно и могат да влязат в състояние на извършване на Git.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!