Git കമ്മിറ്റുകളിൽ നിന്ന് വ്യക്തിഗത ഇമെയിൽ എങ്ങനെ നീക്കംചെയ്യാം

Git and Shell Scripting

GitHub-ൽ നിങ്ങളുടെ ഇമെയിൽ സ്വകാര്യത പരിരക്ഷിക്കുന്നു

GitHub കമ്മിറ്റുകളിൽ നിങ്ങളുടെ സ്വകാര്യ ഇമെയിൽ തുറന്നുകാട്ടുന്നത് ഒരു സ്വകാര്യത ആശങ്കയുണ്ടാക്കാം, പ്രത്യേകിച്ചും പൊതു ശേഖരണങ്ങളിൽ പ്രവർത്തിക്കുമ്പോൾ. നിങ്ങൾ ലയിപ്പിച്ച ഒരു പുൾ അഭ്യർത്ഥന (പിആർ) തുറക്കുകയും നിങ്ങളുടെ സ്വകാര്യ ഇമെയിൽ ദൃശ്യമാകുകയും ചെയ്താൽ, അത് മറയ്ക്കാൻ നടപടികൾ കൈക്കൊള്ളേണ്ടത് പ്രധാനമാണ്.

ഈ ഗൈഡിൽ, ഒരു പിആർ ലയിപ്പിച്ചതിന് ശേഷം നിങ്ങളുടെ ഇമെയിൽ വിലാസം പൊതു കാഴ്ചയിൽ നിന്ന് നീക്കം ചെയ്യുന്നതിനോ മറയ്ക്കുന്നതിനോ ഉള്ള വിവിധ രീതികൾ ഞങ്ങൾ പര്യവേക്ഷണം ചെയ്യും. കമ്മിറ്റ് വിവരങ്ങൾ മാറ്റാനുള്ള കഴിവ് പരിപാലിക്കുന്നവർക്ക് ഉണ്ടോയെന്നും നിങ്ങളുടെ പ്രതിബദ്ധതകൾ എങ്ങനെ ഫലപ്രദമായി ഭേദഗതി ചെയ്യാമെന്നും ഞങ്ങൾ ചർച്ച ചെയ്യും.

കമാൻഡ് വിവരണം
git filter-branch Git റിപ്പോസിറ്ററിയിലെ രചയിതാവിനെയും കമ്മിറ്റർ വിവരങ്ങളെയും മാറ്റാൻ ചരിത്രം തിരുത്തിയെഴുതുന്നു.
export GIT_AUTHOR_NAME ഫിൽട്ടർ-ബ്രാഞ്ച് ഓപ്പറേഷനിൽ വീണ്ടും എഴുതുന്ന കമ്മിറ്റുകൾക്ക് രചയിതാവിൻ്റെ പേര് സജ്ജമാക്കുന്നു.
export GIT_AUTHOR_EMAIL ഫിൽട്ടർ-ബ്രാഞ്ച് ഓപ്പറേഷനിൽ വീണ്ടും എഴുതുന്ന കമ്മിറ്റുകൾക്കായി രചയിതാവിൻ്റെ ഇമെയിൽ സജ്ജമാക്കുന്നു.
wget ഇൻ്റർനെറ്റിൽ നിന്ന് ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുന്നു, BFG Repo-Cleaner ടൂൾ ഡൗൺലോഡ് ചെയ്യാൻ ഇവിടെ ഉപയോഗിക്കുന്നു.
bfg-1.13.0.jar BFG റിപ്പോ-ക്ലീനറിനായുള്ള ജാവ ആർക്കൈവ് ഫയൽ, ഇത് റിപ്പോസിറ്ററി ഹിസ്റ്ററി ക്ലീനിംഗ് പ്രക്രിയ ലളിതമാക്കുന്നു.
--replace-text റിപ്പോസിറ്ററി ചരിത്രത്തിലെ നിർദ്ദിഷ്ട വാചകം (ഇമെയിൽ വിലാസങ്ങൾ) മാറ്റിസ്ഥാപിക്കുന്നതിനുള്ള BFG Repo-Cleaner കമാൻഡ്.
git reflog expire റീഫ്ലോഗിലെ എൻട്രികൾ കാലഹരണപ്പെടുന്നു, ഇത് മാറ്റിയെഴുതിയ ചരിത്രത്തിലേക്കുള്ള റഫറൻസുകൾ വൃത്തിയാക്കാൻ ഉപയോഗപ്രദമാണ്.
git gc --prune=now ചരിത്രം തിരുത്തിയെഴുതിയ ശേഷം ഉപയോഗിക്കുന്ന മാലിന്യ ശേഖരണം നടത്തുകയും എത്തിച്ചേരാനാകാത്ത വസ്തുക്കളെ ഉടനടി വെട്ടിമാറ്റുകയും ചെയ്യുന്നു.
git commit --amend പുതിയ രചയിതാവിൻ്റെ വിവരങ്ങളോ കമ്മിറ്റ് ഉള്ളടക്കത്തിലെ മാറ്റങ്ങളോ ഉപയോഗിച്ച് ഏറ്റവും പുതിയ പ്രതിബദ്ധത ഭേദഗതി ചെയ്യുന്നു.

Git കമ്മിറ്റുകളിൽ നിന്ന് വ്യക്തിഗത ഇമെയിൽ നീക്കം ചെയ്യുന്നു

ഒരു പുൾ അഭ്യർത്ഥന ലയിപ്പിച്ചതിന് ശേഷം Git കമ്മിറ്റുകളിൽ നിന്ന് വ്യക്തിഗത ഇമെയിൽ വിവരങ്ങൾ നീക്കംചെയ്യുന്നതിന് നൽകിയ സ്ക്രിപ്റ്റുകൾ സഹായിക്കുന്നു. ആദ്യ സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു പ്രതിബദ്ധതയുള്ള ചരിത്രം തിരുത്തിയെഴുതാൻ. ഈ കമാൻഡ് ഓരോ കമ്മിറ്റിലൂടെയും ആവർത്തിക്കുന്നു, രചയിതാവ് അല്ലെങ്കിൽ കമ്മിറ്റർ ഇമെയിൽ പഴയ ഇമെയിലുമായി പൊരുത്തപ്പെടുന്നുണ്ടോയെന്ന് പരിശോധിക്കുക. അങ്ങനെ ചെയ്യുകയാണെങ്കിൽ, അത് പുതിയതും അജ്ഞാതവുമായ ഇമെയിൽ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കും. കമ്മിറ്റ് ഹിസ്റ്ററി മാറ്റിയെഴുതിയ ശേഷം, റിമോട്ട് റിപ്പോസിറ്ററി അപ്ഡേറ്റ് ചെയ്യുന്നതിന് ഒരു ഫോഴ്സ് പുഷ് ആവശ്യമാണ്. ദി ഒപ്പം മാറ്റിയെഴുതിയ കമ്മിറ്റുകൾക്ക് ശരിയായ ഇമെയിൽ വിവരങ്ങൾ ഉണ്ടെന്ന് ഉറപ്പാക്കാൻ കമാൻഡുകൾ ഇവിടെ നിർണായകമാണ്.

രണ്ടാമത്തെ സ്ക്രിപ്റ്റ് പ്രയോജനപ്പെടുത്തുന്നു , ഇത് ഫിൽട്ടർ-ബ്രാഞ്ചിന് ലളിതവും വേഗതയേറിയതുമായ ബദലാണ്. ഉപയോഗിച്ച് കമാൻഡ്, റിപ്പോസിറ്ററി ചരിത്രത്തിൽ ഉടനീളം പഴയ ഇമെയിലിൻ്റെ എല്ലാ സന്ദർഭങ്ങളും പുതിയത് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാൻ BFG-ന് കഴിയും. മാറ്റിസ്ഥാപിക്കലിനുശേഷം, സ്ക്രിപ്റ്റ് ഒരു മാലിന്യ ശേഖരണം നടത്തുന്നു ബാക്കിയുള്ള ഏതെങ്കിലും ഡാറ്റ വൃത്തിയാക്കാൻ. മൂന്നാമത്തെ സ്ക്രിപ്റ്റ് ഏറ്റവും പുതിയ കമ്മിറ്റ് ഉപയോഗത്തിൽ മാറ്റം വരുത്തുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു git commit --amend, ഇത് മുഴുവൻ ചരിത്രവും മാറ്റിയെഴുതാതെ രചയിതാവിൻ്റെ വിവരങ്ങളിൽ പെട്ടെന്നുള്ള മാറ്റങ്ങൾ അനുവദിക്കുന്നു.

കമ്മിറ്റ് ചരിത്രം തിരുത്തിയെഴുതാൻ Git ഫിൽട്ടർ-ബ്രാഞ്ച് ഉപയോഗിക്കുന്നു

Git ഉപയോഗിച്ച് ഷെൽ സ്ക്രിപ്റ്റിംഗ് ഉപയോഗിക്കുന്നു

#!/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/*'

എളുപ്പമുള്ള ഇമെയിൽ നീക്കംചെയ്യലിനായി BFG റിപ്പോ-ക്ലീനർ ഉപയോഗിക്കുന്നു

BFG റിപ്പോ-ക്ലീനറിനൊപ്പം ജാവ ഉപയോഗിക്കുന്നു

# 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

ഇമെയിൽ മാറ്റത്തിനായുള്ള അവസാന കമ്മിറ്റ് ഭേദഗതി ചെയ്യുന്നു

ലളിതമായ ഭേദഗതിക്കായി Git കമാൻഡ് ലൈൻ ഉപയോഗിക്കുന്നു

# 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

ഒരു പുൾ അഭ്യർത്ഥന ലയിപ്പിച്ചതിന് ശേഷം സ്വകാര്യത ഉറപ്പാക്കുന്നു

Git കമ്മിറ്റുകളിൽ നിന്ന് വ്യക്തിഗത ഇമെയിൽ നീക്കംചെയ്യാൻ ശ്രമിക്കുമ്പോൾ പരിഗണിക്കേണ്ട മറ്റൊരു വശം ഉപയോഗമാണ് . GitHub നൽകുന്ന ഒരു സ്വകാര്യ ഇമെയിൽ വിലാസം ഉപയോഗിക്കുന്നതിന് നിങ്ങളുടെ Git ക്ലയൻ്റ് കോൺഫിഗർ ചെയ്യുന്നതിലൂടെ, ഭാവി കമ്മിറ്റുകളിൽ നിങ്ങളുടെ യഥാർത്ഥ ഇമെയിൽ വെളിപ്പെടുത്തുന്നത് നിങ്ങൾക്ക് ഒഴിവാക്കാം. നിങ്ങളുടെ ഇമെയിൽ ഫോർമാറ്റിലേക്ക് സജ്ജീകരിച്ചുകൊണ്ട് ഇത് ചെയ്യാൻ കഴിയും . കൂടാതെ, GitHub-ൻ്റെ ക്രമീകരണങ്ങളിൽ ഇമെയിൽ സ്വകാര്യത പ്രവർത്തനക്ഷമമാക്കുന്നത് നിങ്ങളുടെ സ്വകാര്യ ഇമെയിൽ വെബ് അധിഷ്‌ഠിത Git പ്രവർത്തനങ്ങൾക്കായി ഉപയോഗിക്കുന്നുവെന്ന് ഉറപ്പാക്കുന്നു.

ഇതിനകം തള്ളുകയും ലയിപ്പിക്കുകയും ചെയ്‌ത കമ്മിറ്റുകൾക്ക്, ചരിത്രപരമായ കമ്മിറ്റ് ഡാറ്റ മാറ്റാൻ GitHub-ൻ്റെ പരിപാലനക്കാർക്ക് പരിമിതമായ അധികാരമേ ഉള്ളൂ. എന്നിരുന്നാലും, സ്വകാര്യ ഇമെയിലുകൾ ഉപയോഗിക്കാൻ സംഭാവന ചെയ്യുന്നവരെ പ്രോത്സാഹിപ്പിക്കുന്നതോ ആവശ്യപ്പെടുന്നതോ ആയ ശേഖരണ നയങ്ങൾ നടപ്പിലാക്കുന്നതിലൂടെ അവർക്ക് സഹായിക്കാനാകും. അങ്ങേയറ്റത്തെ സന്ദർഭങ്ങളിൽ, സെൻസിറ്റീവ് ഡാറ്റ നീക്കം ചെയ്യാൻ അവർ സഹായിച്ചേക്കാം, എന്നാൽ ഇത് സാധാരണയായി ചരിത്രം തിരുത്തിയെഴുതുന്നത് ഉൾപ്പെടുന്നു, ഇത് എല്ലാ സംഭാവനക്കാരെയും ബാധിക്കും.

  1. ഭാവി കമ്മിറ്റുകളിൽ എൻ്റെ ഇമെയിൽ വെളിപ്പെടുന്നത് എങ്ങനെ തടയാം?
  2. നിങ്ങളുടെ ഇമെയിൽ സജ്ജീകരിക്കുക നിങ്ങളുടെ Git കോൺഫിഗറേഷനിൽ.
  3. ഇതിനകം പുഷ് ചെയ്ത കമ്മിറ്റുകൾക്കായി എനിക്ക് ഇമെയിൽ മാറ്റാനാകുമോ?
  4. അതെ, നിങ്ങൾക്ക് ഉപയോഗിക്കാം അഥവാ കമ്മിറ്റ് ചരിത്രം തിരുത്തിയെഴുതാനും ഇമെയിൽ മാറ്റാനും.
  5. ഭാവി കമ്മിറ്റുകളിൽ എൻ്റെ ഇമെയിൽ മറയ്ക്കാനുള്ള എളുപ്പവഴി ഏതാണ്?
  6. ഒരു സ്വകാര്യ ഇമെയിൽ ഉപയോഗിക്കുന്നതിന് നിങ്ങളുടെ GitHub അക്കൗണ്ട് കോൺഫിഗർ ചെയ്യുക, നിങ്ങളുടെ Git ക്ലയൻ്റ് ഇമെയിൽ സജ്ജമാക്കുക .
  7. ഒരു കമ്മിറ്റ് തിരുത്തുന്നത് അതിൻ്റെ ചരിത്രം മാറ്റുമോ?
  8. അതെ, ഏറ്റവും പുതിയ പ്രതിബദ്ധത മാറ്റുന്നു, അത് റിപ്പോസിറ്ററി അപ്‌ഡേറ്റ് ചെയ്യാൻ നിർബന്ധിതമായി പ്രേരിപ്പിക്കാം.
  9. ശേഖരം പരിപാലിക്കുന്നവർക്ക് എൻ്റെ പ്രതിബദ്ധത വിവരങ്ങൾ മാറ്റാനാകുമോ?
  10. കമ്മിറ്റ് ഹിസ്റ്ററി മാറ്റാനുള്ള പരിമിതമായ കഴിവ് പരിപാലിക്കുന്നവർക്ക് മാത്രമേയുള്ളൂ, എന്നാൽ ഭാവി കമ്മിറ്റുകൾക്കായി സ്വകാര്യതാ നയങ്ങൾ നടപ്പിലാക്കാൻ കഴിയും.
  11. കമ്മിറ്റ് ചരിത്രം തിരുത്തിയെഴുതുന്നത് സുരക്ഷിതമാണോ?
  12. ചരിത്രം തിരുത്തിയെഴുതുന്നത് സഹകരണത്തെ ബാധിക്കും, അതിനാൽ ഇത് ശ്രദ്ധാപൂർവ്വം, നിയന്ത്രിത പരിതസ്ഥിതിയിൽ ചെയ്യണം.
  13. ബലപ്രയോഗം വരുത്തുന്ന മാറ്റങ്ങളുടെ സ്വാധീനം എന്താണ്?
  14. ഫോഴ്‌സ്-പുഷിംഗിന് ചരിത്രത്തെ തിരുത്തിയെഴുതാൻ കഴിയും, അത് സഹകാരികളെ ആശയക്കുഴപ്പത്തിലാക്കാം, അതിനാൽ അങ്ങനെ ചെയ്യുന്നതിന് മുമ്പ് വ്യക്തമായി ആശയവിനിമയം നടത്തുക.
  15. ഒരു സ്ഥാപനത്തിലുടനീളം ഇമെയിൽ സ്വകാര്യത നടപ്പിലാക്കാൻ കഴിയുമോ?
  16. അതെ, GitHub ഓർഗനൈസേഷനുകൾക്ക് നയങ്ങൾ സജ്ജീകരിക്കാനും പോലുള്ള ഉപകരണങ്ങൾ ഉപയോഗിക്കാനും കഴിയും ഇമെയിൽ സ്വകാര്യത ഉറപ്പാക്കാൻ.
  17. പ്രീ-കമ്മിറ്റ് ഹുക്കുകൾ എന്തൊക്കെയാണ്?
  18. ഒരു കമ്മിറ്റ് സൃഷ്‌ടിക്കുന്നതിന് മുമ്പ് പ്രവർത്തിക്കുന്ന സ്‌ക്രിപ്റ്റുകളാണ് പ്രീ-കമ്മിറ്റ് ഹുക്കുകൾ, ഇത് ഒരു സ്വകാര്യ ഇമെയിൽ ഉപയോഗിക്കുന്നതുപോലുള്ള ചില മാനദണ്ഡങ്ങൾ പാലിക്കുന്നുവെന്ന് ഉറപ്പാക്കുന്നു.

നിങ്ങളുടെ സ്വകാര്യ വിവരങ്ങൾ സംരക്ഷിക്കേണ്ടത് അത്യന്താപേക്ഷിതമാണ്, പ്രത്യേകിച്ചും പൊതു സംഭരണികളിൽ സംഭാവന ചെയ്യുമ്പോൾ. ഒരു സ്വകാര്യ വിലാസം ഉപയോഗിക്കുന്നതിന് നിങ്ങളുടെ Git ക്രമീകരണങ്ങൾ കോൺഫിഗർ ചെയ്യുന്നതിലൂടെയും പോലുള്ള ഉപകരണങ്ങൾ ഉപയോഗിക്കുന്നതിലൂടെയും ഒപ്പം , നിങ്ങൾക്ക് കമ്മിറ്റ് ചരിത്രത്തിൽ നിന്ന് വ്യക്തിഗത ഡാറ്റ ഫലപ്രദമായി നീക്കംചെയ്യാം. റിപ്പോസിറ്ററി മെയിൻ്റനർമാർക്ക് പ്രതിബദ്ധതയുള്ള വിവരങ്ങൾ മാറ്റാൻ പരിമിതമായ അധികാരമുണ്ടെങ്കിലും, അവർക്ക് സ്വകാര്യതാ രീതികളെ പിന്തുണയ്ക്കാൻ കഴിയും. ആശയക്കുഴപ്പം ഒഴിവാക്കാൻ നിങ്ങളുടെ ടീമുമായി ഏതെങ്കിലും ചരിത്രം തിരുത്തിയെഴുതുന്നത് എല്ലായ്പ്പോഴും ആശയവിനിമയം നടത്തുന്നുവെന്ന് ഉറപ്പാക്കുക. ഈ രീതികൾ ഉപയോഗിച്ച്, ഓപ്പൺ സോഴ്‌സ് പ്രോജക്‌റ്റുകളിലേക്ക് സംഭാവന ചെയ്യുമ്പോൾ നിങ്ങളുടെ സ്വകാര്യത നിലനിർത്താനാകും.