Git கமிட்களில் இருந்து தனிப்பட்ட மின்னஞ்சலை நீக்குவது எப்படி

Git கமிட்களில் இருந்து தனிப்பட்ட மின்னஞ்சலை நீக்குவது எப்படி
Git கமிட்களில் இருந்து தனிப்பட்ட மின்னஞ்சலை நீக்குவது எப்படி

GitHub இல் உங்கள் மின்னஞ்சல் தனியுரிமையைப் பாதுகாத்தல்

GitHub கமிட்களில் உங்கள் தனிப்பட்ட மின்னஞ்சலை வெளிப்படுத்துவது தனியுரிமை கவலையாக இருக்கலாம், குறிப்பாக பொது களஞ்சியங்களில் பணிபுரியும் போது. நீங்கள் இழுக்க கோரிக்கை (PR) ஒன்றைத் திறந்திருந்தால், அது ஒன்றிணைக்கப்பட்ட உங்கள் தனிப்பட்ட மின்னஞ்சல் தெரியும் எனில், அதை மறைக்க நடவடிக்கை எடுப்பது முக்கியம்.

இந்த வழிகாட்டியில், PR இணைக்கப்பட்ட பிறகு உங்கள் மின்னஞ்சல் முகவரியை பொது பார்வையில் இருந்து அகற்ற அல்லது மறைப்பதற்கான பல்வேறு முறைகளை நாங்கள் ஆராய்வோம். பராமரிப்பாளர்களுக்கு உறுதிப்பாட்டை மாற்றும் திறன் உள்ளதா என்பதையும், உங்கள் கடமைகளை எவ்வாறு திறம்பட திருத்துவது என்பதையும் நாங்கள் விவாதிப்போம்.

கட்டளை விளக்கம்
git filter-branch Git களஞ்சியத்தில் உள்ள ஆசிரியர் மற்றும் கமிட்டர் தகவலை மாற்ற வரலாற்றை மீண்டும் எழுதுகிறது.
export GIT_AUTHOR_NAME வடிகட்டி-கிளை செயல்பாட்டில் மீண்டும் எழுதப்படும் கமிட்களுக்கான ஆசிரியர் பெயரை அமைக்கிறது.
export GIT_AUTHOR_EMAIL வடிகட்டி-கிளை செயல்பாட்டில் மீண்டும் எழுதப்பட்ட கமிட்களுக்கான ஆசிரியர் மின்னஞ்சலை அமைக்கிறது.
wget இணையத்திலிருந்து கோப்புகளைப் பதிவிறக்குகிறது, BFG Repo-Cleaner கருவியைப் பதிவிறக்க இங்கே பயன்படுத்தப்படுகிறது.
bfg-1.13.0.jar BFG Repo-Cleaner க்கான Java Archive கோப்பு, இது களஞ்சிய வரலாற்றை சுத்தம் செய்யும் செயல்முறையை எளிதாக்குகிறது.
--replace-text களஞ்சிய வரலாற்றில் குறிப்பிட்ட உரையை (மின்னஞ்சல் முகவரிகள்) மாற்றுவதற்கான BFG Repo-Cleaner கட்டளை.
git reflog expire reflog இல் உள்ளீடுகளை காலாவதியாகிறது, இது மீண்டும் எழுதப்பட்ட வரலாற்றின் குறிப்புகளை சுத்தம் செய்ய பயனுள்ளதாக இருக்கும்.
git gc --prune=now வரலாற்றை மாற்றி எழுதிய பிறகு, குப்பை சேகரிப்பு மற்றும் அணுக முடியாத பொருட்களை உடனடியாக கத்தரிக்கவும்.
git commit --amend புதிய ஆசிரியர் தகவல் அல்லது உறுதி உள்ளடக்கத்தில் மாற்றங்களுடன் மிகச் சமீபத்திய உறுதிமொழியை திருத்துகிறது.

Git கமிட்களில் இருந்து தனிப்பட்ட மின்னஞ்சலை நீக்குதல்

இழுக்கும் கோரிக்கை ஒன்றிணைக்கப்பட்ட பிறகு, Git கமிட்களில் இருந்து தனிப்பட்ட மின்னஞ்சல் தகவலை அகற்ற ஸ்கிரிப்ட்கள் உதவுகின்றன. முதல் ஸ்கிரிப்ட் பயன்படுத்துகிறது git filter-branch சரித்திரத்தை மாற்றி எழுத வேண்டும். இந்தக் கட்டளையானது ஒவ்வொரு கமிட் மூலமாகவும், பழைய மின்னஞ்சலுடன் ஆசிரியர் அல்லது கமிட் செய்தவரின் மின்னஞ்சல் பொருந்துகிறதா எனச் சரிபார்க்கிறது. அவ்வாறு செய்தால், அது புதிய, அநாமதேய மின்னஞ்சலுடன் மாற்றப்படும். கமிட் வரலாற்றை மீண்டும் எழுதிய பிறகு, ரிமோட் ரிபோசிட்டரியைப் புதுப்பிக்க ஒரு ஃபோர்ஸ் புஷ் தேவைப்படுகிறது. தி export GIT_AUTHOR_EMAIL மற்றும் export GIT_COMMITTER_EMAIL மீண்டும் எழுதப்பட்ட கமிட்கள் சரியான மின்னஞ்சல் தகவலைக் கொண்டிருப்பதை உறுதிசெய்ய கட்டளைகள் இங்கு முக்கியமானவை.

இரண்டாவது ஸ்கிரிப்ட் உதவுகிறது BFG Repo-Cleaner, இது வடிகட்டி-கிளைக்கு எளிய மற்றும் வேகமான மாற்றாகும். பயன்படுத்துவதன் மூலம் --replace-text கட்டளை, BFG ஆனது பழைய மின்னஞ்சலின் அனைத்து நிகழ்வுகளையும் களஞ்சிய வரலாறு முழுவதும் புதியதாக மாற்றும். மாற்றத்திற்குப் பிறகு, ஸ்கிரிப்ட் ஒரு குப்பை சேகரிப்பை செய்கிறது git gc --prune=now மீதமுள்ள தரவுகளை சுத்தம் செய்ய. மூன்றாவது ஸ்கிரிப்ட் மிக சமீபத்திய கமிட் பயன்படுத்தி திருத்துவதில் கவனம் செலுத்துகிறது git commit --amend, இது முழு வரலாற்றையும் மீண்டும் எழுதாமல் ஆசிரியர் தகவலில் விரைவான மாற்றங்களை அனுமதிக்கிறது.

கமிட் வரலாற்றை மீண்டும் எழுத Git Filter-Branch ஐப் பயன்படுத்துதல்

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 REPO-CLEANER ஐப் பயன்படுத்துதல்

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’s personal email settings. GitHub வழங்கிய தனிப்பட்ட மின்னஞ்சல் முகவரியைப் பயன்படுத்த உங்கள் Git கிளையண்டை உள்ளமைப்பதன் மூலம், எதிர்காலத்தில் உங்கள் உண்மையான மின்னஞ்சலை வெளிப்படுத்துவதைத் தவிர்க்கலாம். உங்கள் மின்னஞ்சலை வடிவமைப்பில் அமைப்பதன் மூலம் இதைச் செய்யலாம் username@users.noreply.github.com. கூடுதலாக, GitHub இன் அமைப்புகளில் மின்னஞ்சல் தனியுரிமையை இயக்குவது உங்கள் தனிப்பட்ட மின்னஞ்சல் இணைய அடிப்படையிலான Git செயல்பாடுகளுக்குப் பயன்படுத்தப்படுவதை உறுதி செய்கிறது.

ஏற்கனவே தள்ளப்பட்டு ஒன்றிணைக்கப்பட்ட கமிட்களுக்கு, GitHub இன் பராமரிப்பாளர்களுக்கு வரலாற்று உறுதித் தரவை மாற்றுவதற்கு வரையறுக்கப்பட்ட அதிகாரம் உள்ளது. இருப்பினும், தனிப்பட்ட மின்னஞ்சல்களைப் பயன்படுத்த பங்களிப்பாளர்கள் ஊக்குவிக்கும் அல்லது தேவைப்படும் களஞ்சியக் கொள்கைகளைச் செயல்படுத்துவதன் மூலம் அவர்கள் உதவலாம். தீவிர நிகழ்வுகளில், அவை முக்கியமான தரவை அகற்ற உதவக்கூடும், ஆனால் இது பொதுவாக வரலாற்றை மீண்டும் எழுதுவதை உள்ளடக்குகிறது, இது அனைத்து பங்களிப்பாளர்களையும் பாதிக்கலாம்.

Git கமிட்களில் மின்னஞ்சல் தனியுரிமை பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. எதிர்கால கமிட்களில் எனது மின்னஞ்சல் வெளிப்படுவதை எப்படி தடுப்பது?
  2. உங்கள் மின்னஞ்சலை அமைக்கவும் username@users.noreply.github.com உங்கள் Git கட்டமைப்பில்.
  3. ஏற்கனவே தள்ளப்பட்ட கமிட்களுக்கான மின்னஞ்சலை மாற்ற முடியுமா?
  4. ஆம், நீங்கள் பயன்படுத்தலாம் git filter-branch அல்லது BFG Repo-Cleaner உறுதி வரலாற்றை மீண்டும் எழுத மற்றும் மின்னஞ்சலை மாற்ற.
  5. எதிர்காலத்தில் எனது மின்னஞ்சலை மறைக்க எளிதான வழி எது?
  6. தனிப்பட்ட மின்னஞ்சலைப் பயன்படுத்த உங்கள் GitHub கணக்கை உள்ளமைக்கவும், உங்கள் Git கிளையண்டின் மின்னஞ்சலை அமைக்கவும் username@users.noreply.github.com.
  7. ஒரு உறுதிமொழியை திருத்துவது அதன் வரலாற்றை மாற்றுமா?
  8. ஆம், git commit --amend மிக சமீபத்திய உறுதியை மாற்றுகிறது, இது களஞ்சியத்தைப் புதுப்பிக்க வலுக்கட்டாயமாகத் தள்ளப்படும்.
  9. களஞ்சிய பராமரிப்பாளர்கள் எனது உறுதிப்பாட்டை மாற்ற முடியுமா?
  10. பராமரிப்பாளர்களுக்கு உறுதிப்பாட்டின் வரலாற்றை மாற்றும் திறன் குறைவாக உள்ளது, ஆனால் எதிர்கால கடமைகளுக்கு தனியுரிமைக் கொள்கைகளைச் செயல்படுத்த முடியும்.
  11. சரித்திரத்தை மாற்றி எழுதுவது பாதுகாப்பானதா?
  12. வரலாற்றை மீண்டும் எழுதுவது ஒத்துழைப்பைப் பாதிக்கலாம், எனவே அது கவனமாக, கட்டுப்படுத்தப்பட்ட சூழலில் செய்யப்பட வேண்டும்.
  13. சக்தியைத் தள்ளும் மாற்றங்களின் தாக்கம் என்ன?
  14. வலுக்கட்டாயமாகத் தள்ளுதல் வரலாற்றை மேலெழுதலாம், இது கூட்டுப்பணியாளர்களைக் குழப்பக்கூடும், எனவே அவ்வாறு செய்வதற்கு முன் தெளிவாகத் தொடர்புகொள்ளவும்.
  15. மின்னஞ்சல் தனியுரிமையை முழு நிறுவனத்திலும் செயல்படுத்த முடியுமா?
  16. ஆம், GitHub நிறுவனங்கள் கொள்கைகளை அமைக்கலாம் மற்றும் கருவிகளைப் பயன்படுத்தலாம் pre-commit hooks மின்னஞ்சல் தனியுரிமையை உறுதிப்படுத்த.
  17. முன் உறுதி கொக்கிகள் என்றால் என்ன?
  18. ப்ரீ-கமிட் ஹூக்குகள் என்பது ஒரு கமிட் உருவாக்கப்படுவதற்கு முன்பு இயங்கும் ஸ்கிரிப்ட்களாகும், இது ஒரு தனிப்பட்ட மின்னஞ்சலைப் பயன்படுத்துவது போன்ற சில நிபந்தனைகளை பூர்த்தி செய்கிறது.

Git கமிட்களில் மின்னஞ்சல் தனியுரிமை பற்றிய இறுதி எண்ணங்கள்

உங்கள் தனிப்பட்ட தகவலைப் பாதுகாப்பது அவசியம், குறிப்பாக பொது களஞ்சியங்களில் பங்களிக்கும் போது. தனிப்பட்ட முகவரியைப் பயன்படுத்த உங்கள் Git அமைப்புகளை உள்ளமைப்பதன் மூலம் மற்றும் கருவிகளைப் பயன்படுத்துவதன் மூலம் git filter-branch மற்றும் BFG Repo-Cleaner, கமிட் வரலாற்றிலிருந்து தனிப்பட்ட தரவை நீங்கள் திறம்பட நீக்கலாம். ரிபோசிட்டரி பராமரிப்பாளர்களுக்கு உறுதியளிக்கும் தகவலை மாற்றுவதற்கு மட்டுப்படுத்தப்பட்ட அதிகாரம் இருந்தாலும், அவர்கள் தனியுரிமை நடைமுறைகளை ஆதரிக்க முடியும். குழப்பத்தைத் தவிர்க்க, உங்கள் குழுவுடன் எந்த வரலாற்றையும் மீண்டும் எழுதுவதைத் தொடர்புகொள்வதை எப்போதும் உறுதிப்படுத்திக் கொள்ளுங்கள். இந்த முறைகள் மூலம், திறந்த மூல திட்டங்களுக்கு பங்களிக்கும் போது உங்கள் தனியுரிமையை நீங்கள் பராமரிக்கலாம்.