Како уклонити личну е-пошту из Гит урезивања

Git and Shell Scripting

Заштита ваше приватности е-поште на ГитХуб-у

Излагање ваше личне е-поште у ГитХуб урезивању може бити проблем приватности, посебно када радите на јавним репозиторијумима. Ако сте отворили захтев за повлачење (ПР) који је спојен и приметили да је ваша лична е-пошта видљива, важно је да предузмете кораке да је сакријете.

У овом водичу ћемо истражити различите методе за уклањање или скривање ваше адресе е-поште из јавног погледа након што је ПР спојен. Такође ћемо разговарати о томе да ли одржаваоци имају могућност да мењају информације о урезивању и како да ефикасно измене ваше урезивање.

Цомманд Опис
git filter-branch Преписује историју урезивања да би променио информације о аутору и извршиоцу у Гит спремишту.
export GIT_AUTHOR_NAME Поставља име аутора за урезивање које се преписује у операцији филтер-грана.
export GIT_AUTHOR_EMAIL Поставља адресу е-поште аутора за урезивање које се преписује у операцији филтер-грана.
wget Преузима датотеке са интернета, које се овде користе за преузимање алатке БФГ Репо-Цлеанер.
bfg-1.13.0.jar Јава архивска датотека за БФГ Репо-Цлеанер, која поједностављује процес чишћења историје спремишта.
--replace-text БФГ Репо-Цлеанер команда за замену одређеног текста (адресе е-поште) у историји спремишта.
git reflog expire Истиче уносе у рефлог, што је корисно за чишћење референци на преписану историју.
git gc --prune=now Обавља сакупљање смећа и одмах уклања недоступне објекте, који се користе након поновног писања историје.
git commit --amend Допуњује најновије урезивање новим информацијама о аутору или мења садржај урезивања.

Уклањање личне е-поште из Гит урезивања

Скрипте су пружиле помоћ у уклањању личних информација е-поште из Гит урезивања након што је захтев за повлачење спојен. Прва скрипта користи да препишем историју урезивања. Ова команда се понавља кроз свако урезивање, проверавајући да ли се адреса е-поште аутора или извршиоца подудара са старом е-поштом. Ако јесте, замењује га новом, анонимном е-поштом. Након поновног писања историје урезивања, потребно је принудно притискање да би се ажурирало удаљено спремиште. Тхе и команде су овде кључне како би се осигурало да преписана урезивања имају тачне информације е-поште.

Други сценарио користи , што је једноставнија и бржа алтернатива филтер-грану. Коришћењем команду, БФГ може да замени све инстанце старе е-поште новом током историје спремишта. Након замене, скрипта врши сакупљање смећа са да очистите све преостале податке. Трећа скрипта се фокусира на измену најновијег коришћења урезивања git commit --amend, који омогућава брзе измене података о аутору без поновног писања целе историје.

Коришћење Гит Филтер-Бранцх за преписивање историје урезивања

Коришћење схелл скрипти са Гитом

#!/bin/sh

# Ensure you have a clean working directory
git checkout main

# Rewrite the commit history to change the author email
git filter-branch --env-filter \
'
OLD_EMAIL="my.personal@email.me"
CORRECT_NAME="My Username"
CORRECT_EMAIL="12345678+username@users.noreply.github.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

# Force push the changes to the repository
git push --force --tags origin 'refs/heads/*'

Коришћење БФГ Репо-Цлеанер-а за лакше уклањање е-поште

Коришћење Јаве са БФГ Репо-Цлеанер-ом

# Download BFG Repo-Cleaner
wget https://repo1.maven.org/maven2/com/madgag/bfg/1.13.0/bfg-1.13.0.jar

# Run BFG to replace the old email with the new one
java -jar bfg-1.13.0.jar --replace-text 'my.personal@email.me==12345678+username@users.noreply.github.com' .

# Cleanup and perform garbage collection
git reflog expire --expire=now --all && git gc --prune=now --aggressive

# Push the changes to the remote repository
git push --force

Измена последњег обавезивања за промену е-поште

Коришћење Гит командне линије за једноставну измену

# Change the email for the last commit
git commit --amend --author="My Username <12345678+username@users.noreply.github.com>"

# Push the amended commit to the repository
git push --force

Обезбеђивање приватности након спајања захтева за повлачење

Још један аспект који треба узети у обзир када покушавате да уклоните личну е-пошту из Гит урезивања је употреба . Конфигурисањем вашег Гит клијента да користи приватну адресу е-поште коју обезбеђује ГитХуб, можете избећи излагање своје праве е-поште у будућим урезивању. Ово се може урадити постављањем е-поште на формат . Поред тога, омогућавање приватности е-поште у ГитХубовим подешавањима осигурава да се ваша приватна е-пошта користи за Гит операције засноване на вебу.

За урезивања која су већ гурнута и спојена, ГитХуб-ови одржавачи имају ограничену моћ да мењају историјске податке урезивања. Међутим, они могу помоћи спровођењем политика спремишта које подстичу или захтевају од сарадника да користе приватне е-поруке. У екстремним случајевима, они могу помоћи у уклањању осетљивих података, али то обично укључује поновно писање историје, што може утицати на све сараднике.

  1. Како могу да спречим да моја е-пошта буде изложена у будућим урезивању?
  2. Подесите своју е-пошту на у вашој Гит конфигурацији.
  3. Могу ли да променим адресу е-поште за већ послата урезивања?
  4. Да, можете користити или да препишете историју урезивања и промените е-пошту.
  5. Који је најлакши начин да сакријем своју е-пошту у будућим урезивању?
  6. Конфигуришите свој ГитХуб налог да користи приватну е-пошту и подесите е-пошту вашег Гит клијента на .
  7. Да ли измена урезивања мења њену историју?
  8. Да, мења најновије урезивање, које може бити принудно притиснуто да се ажурира спремиште.
  9. Могу ли одржаваоци спремишта да промене моје информације о урезивању?
  10. Одржавачи имају ограничену могућност да промене историју урезивања, али могу да примене политику приватности за будућа урезивања.
  11. Да ли је безбедно поново писати историју урезивања?
  12. Преписивање историје може утицати на сарадњу, тако да то треба радити пажљиво, идеално у контролисаном окружењу.
  13. Какав је утицај промена које потискују силу?
  14. Присилно притискање може да препише историју, што би могло збунити сараднике, зато јасно комуницирајте пре него што то учините.
  15. Да ли се приватност е-поште може применити у целој организацији?
  16. Да, ГитХуб организације могу поставити политике и користити алате као што су да би се осигурала приватност е-поште.
  17. Шта су закачице пре урезивања?
  18. Закачице пре урезивања су скрипте које се покрећу пре него што се урезивање креира, обезбеђујући да испуњава одређене критеријуме као што је коришћење приватне е-поште.

Заштита ваших личних података је од суштинског значаја, посебно када доприносите јавним репозиторијумима. Конфигурисањем Гит подешавања за коришћење приватне адресе и коришћењем алата као што су и , можете ефикасно уклонити личне податке из историје урезивања. Док одржаваоци спремишта имају ограничену моћ да мењају информације о урезивању, они могу подржати праксе приватности. Увек водите рачуна о томе да са својим тимом комуницирате о било каквом поновном писању историје како бисте избегли забуну. Овим методама можете одржати своју приватност док доприносите пројектима отвореног кода.