git log - git stash- git rebase - git පෙරහන්-repo

git log තවමත් ඔබේ රහස් පෙන්වන්නේ ඇයි: Git Commit ඉතිහාසය කිසිදා අමතක නොවේ

git log රහස් “මකා දැමූ” පසුවත් හෙළි කරන්නේ ඇයි?

ගොනුවකින් පේළියක් මකා දැමීම සහ commitවෙනස් කිරීම ඇත්ත වශයෙන්ම ඔබේ repo එකෙන් සංවේදී දත්ත ඉවත් නොකරයි. එම රහස, API යතුරක්, අක්තපත්‍රයක් හෝ ටෝකනයක් කවදා හෝ තිබුනේ නම් commitටෙඩ්, එය ඔබගේ Git ඉතිහාසයේ ජීවත් වේ. ධාවනය වන ඕනෑම අයෙකුට git ලොග් -p, git පෙන්වන්න, හෝ අතීතයෙන් වෙනස්කම් පරීක්ෂා කිරීම commitපරිශීලකයින්ට තවමත් එය ලබා ගත හැක.

ඔබ ගොනුවක් උඩින් ලිව්වත් හෝ අගය ප්‍රතිස්ථාපනය කළත්, ගිට් ලොග් සෑම වෙනස්කමකම සම්පූර්ණ පරම්පරාව ආරක්ෂා කරයි. මෙය නිර්මාණය අනුව ය. Git හි සම්පූර්ණ ආකෘතිය වෙනස් කළ නොහැකි මත පදනම් වේ commit ඉතිහාසය සහ බෙදා හරින ලද පිටපත්. එබැවින් ඔබ ඉතිහාසය පැහැදිලිව නැවත ලියන්නේ නැත්නම්, ඔබේ රහස් තවමත් එහි ඇත. මෙන්න ප්‍රායෝගික අවස්ථාවක්:

⚠️ අධ්‍යාපනික උදාහරණයක්, නිෂ්පාදනයේදී ක්‍රියාත්මක නොවන්න

ගොඩක් පරක්කුයි. ගිට් ලොග් තවමත් එම යතුර මුලිකව පෙන්වයි commit.

git stash සහ git rebase පිළිබඳ වැරදි වැටහීම්

බොහෝ සංවර්ධකයින් උපකල්පනය කරන්නේ git ස්ටෑෂ් රහස් සැඟවීමට හෝ පිරිසිදු කිරීමට උපකාරී වේ. සත්‍ය නොවේ. git ස්ටෑෂ් රාක්ක පමණයි වැඩ කරන නාමාවලිය තාවකාලිකව වෙනස් වේ; එය කිසි විටෙකත් ස්පර්ශ නොවේ commit ඉතිහාසය. රහසක් කවදා හෝ තිබුණා නම් commitටෙඩ්, පසුව වෙනස්කම් සඟවා තැබීමෙන් එය පිරිසිදු කිරීමට කිසිවක් සිදු නොවේ.

මොකද කරන්නේ git නැවත සැකසීම? එයට ඉතිහාසය නැවත ලිවිය හැකි වුවද, එය කළ යුත්තේcisඑලි. දුවනවා විතරයි git නැවත සකස් කිරීම -i සහ නැවත සකස් කිරීම හෝ පොඩි කිරීම commitඔබ ඒවා පැහැදිලිව සංස්කරණය කරන්නේ නම් හෝ අතහැර දමන්නේ නම් මිස s රහස් ඉවත් නොකරයි. මුල් පිටපත සමඟ එක් ක්ලෝනයක් හෝ දෙබලක් හෝ තිබේ නම් commits, ඔබේ රහස ජීවමානයි.

ඊටත් වඩා නරක දෙය නම්, නිවැරදිව බලහත්කාරයෙන් තල්ලු නොකර හෝ සහයෝගිතාකරුවන් සමඟ නැවත සම්බන්ධීකරණය කිරීමෙන් ඒකාබද්ධ කිරීම් හරහා නිරාවරණය වූ අක්තපත්‍ර නැවත හඳුන්වා දිය හැකිය.

⚠️ අධ්‍යාපනික උදාහරණය, ​​සැබෑ පරිසරවල භාවිතා නොකරන්න

⚠️ අධ්‍යාපනික උදාහරණයක්, නිෂ්පාදන ගබඩා මත ක්‍රියාත්මක නොවන්න

සංස්කරණය කරන්න commit රහස අඩංගුයි, නමුත් එය ඉවත් කිරීමට අමතක කරන්න. ඔබගේ ගිට් ලොග් සමහරවිට බලන්න පිරිසිදුයි, නමුත් සංවේදී අන්තර්ගතය තවමත් ප්‍රතිසාධනය කළ හැකියි.

Git ඉතිහාසයේ අමතක වූ අක්තපත්‍ර වලින් සැබෑ ලෝක අවදානම්

මෙය න්‍යායාත්මක නොවේ. ප්‍රහාරකයින් රාජ්‍ය සහ පෞද්ගලික ගබඩාවල සැඟවී ඇති රහස් සඳහා ක්‍රියාකාරීව පරිලෝකනය කරයි commit ඉතිහාසයන්. GitHub forks, mirror repos, සහ cached CI/CD pipelineසියලුම පරිශීලකයින්ට එම අමතක වූ ටෝකන තබා ගත හැකිය.

  • පැරණි එකකින් කාන්දු වූ API යතුරක් ගිට් ලොග් එක් ආරම්භයක් සඳහා දහස් ගණනක් වලාකුළු බිල්පත් කිරීමට හේතු විය.
  • OAuth ටෝකන committed, පසුව "මකා දමන ලදී", පරිශීලක ගිණුම් පැහැර ගැනීමට භාවිතා කරන ලදී.
  • විවෘත මූලාශ්‍ර ව්‍යාපෘතිවල ගැඹුරින් සැඟවී තිබූ රහස් ප්‍රධාන ආරක්ෂක සිදුවීම් වලට හේතු විය.

මෙම ගැටළු පරිමාණය වන්නේ CI/CD. repo එකක් ක්ලෝන කරන සෑම කාර්යයක්ම ක්‍රියාත්මක වේ ගිට් ලොග් ආවරණය යටතේ, සහ සෑම ඉදිකිරීම් කෞතුක වස්තුවකටම හෙළිදරව් වූ රහස්වල සලකුණු ඇතුළත් විය හැකිය.

git filter-repo සමඟ සංවේදී දත්ත පිරිසිදු කිරීම

හානිය සිදුවී ඇත්නම්, එය පිරිසිදු කිරීමට වඩාත්ම විශ්වාසදායක මෙවලම වන්නේ git පෙරහන්-ගබඩාව. මෙන් නොව git නැවත සැකසීම, එය නැවත ලියයි තනි commits, git පෙරහන්-ගබඩාව සම්පූර්ණ නැවත ලිවිය හැකිය commit ගොනු මාර්ග, රටා හෝ අන්තර්ගතය මත පදනම් වූ ඉතිහාසය.

උදාහරණය: සියලුම අවස්ථා පිරිසිදු කිරීමට config.json රහස් අඩංගු විය හැකිය:

⚠️ අධ්‍යාපනික උදාහරණයක්, නිෂ්පාදනයේදී භාවිතා කිරීමට පෙර පරීක්ෂණ ගබඩාවක සත්‍යාපනය කරන්න

නැතහොත් සියල්ල ඉවත් කිරීමට commitනිශ්චිත නූලක් ඇතුළත් s (උදා, AWS_SECRET_ACCESS_KEY):

⚠️ අධ්‍යාපනික උදාහරණයක්, නිෂ්පාදනයේදී භාවිතා කිරීමට පෙර පරීක්ෂණ ගබඩාවක සත්‍යාපනය කරන්න

ප්‍රවේශම් වන්න: මෙය නැවත ලියනු ඇත commit හෑෂ්. ඔබට බලහත්කාරයෙන් තල්ලු කර සියලුම සහයෝගිතාකරුවන්ට දැනුම් දීමට අවශ්‍ය වනු ඇත. ඕනෑම ස්වයංක්‍රීයකරණයක් හෝ යෙදවුම් යතුරු සම්බන්ධ කර ඇත commit හෑෂ් කැඩී යනු ඇත.

තවද, වැනි මෙවලම් BFG Repo-ක්ලීනර් සමාන හැකියාවන් ලබා දෙන නමුත් අඩු නම්‍යශීලී වන අතර දැන් සංකීර්ණ අවස්ථාවන් සඳහා යල් පැන ගිය ඒවා ලෙස සැලකේ.

Git වෙත ළඟා වීමට පෙර රහස් කාන්දුවීම් වැළැක්වීම

වැළැක්වීම පිරිසිදු කිරීමට වඩා හොඳය. රහස් කිසිදා පහර නොදෙන එක නවත්වන්නේ කෙසේද යන්න මෙන්න ගිට් ලොග්:

1. Pre-commit Hooks

වැනි මෙවලම් භාවිතා කරන්න pre-commit, ගිට්ලීක්ස්, හෝ තායිස්මන් කලින් රහස් සොයා බැලීමට commits:

2. CI/CD Pipeline බලාත්මක කිරීම

ඒකාබද්ධ කරන්න රහස් අනාවරණය ඔබේ CI රැකියාවලට. රහස් සොයාගත් විට අසාර්ථකත්වය ගොඩනැගේ. මෙය ප්‍රතිපත්තියක් බවට පත් කරන්න.

3. රහස් කළමනාකරණය

කිසි විටෙකත් අක්තපත්‍ර දෘඪ කේතනය නොකරන්න. පළමු දිනයේ සිටම පරිසර විචල්‍යයන්, සුරක්ෂිතාගාර හෝ රහස් කළමනාකරුවන් භාවිතා කරන්න.

4. විගණන යැපීම්

තෙවන පාර්ශවීය පැකේජ අන්ධ ලෙස විශ්වාස නොකරන්න. රහස් කාන්දු විය හැක npm, PyPI, හෝ Docker ස්ථර හරහා.

අවසාන නිවැරදි කිරීම: git filter-repo සමඟ රහස් ස්ක්‍රබ් කරන්න

කේතයෙන් රහස් මකා දැමීම පමණක් ප්‍රමාණවත් නොවේ. ගිට් ලොග් ඉතිහාසය නැවත ලිවීමට ඔබ හිතාමතා පියවර නොගන්නේ නම් සම්පූර්ණ වාර්තාවක් තබා ගනී. මත විශ්වාසය නොතබන්න git ස්ටෑෂ් හෝ අඩක් බේක් කළ git නැවත සැකසීම උත්සාහයන්. භාවිතය git පෙරහන්-ගබඩාව ඔබට ගැඹුරු පිරිසිදු කිරීමක් අවශ්‍ය වූ විට, රහස් මුලින්ම ඔබේ ගබඩාවට ළඟා වීමට පෙර ප්‍රතිපත්ති සහ ස්කෑන් කිරීම බලාත්මක කරන්න.

ක්‍රියාකාරී රහස් අනාවරණය සඳහා, වැනි මෙවලම් භාවිතා කිරීම සලකා බලන්න සයිජෙනි ඔබගේ සුරක්ෂිත කිරීමට pipelines, බලාත්මක කරන්න commit සනීපාරක්ෂාව, සහ මිල අධික කාන්දුවීම් මතුවීමට පෙර ඒවා වළක්වන්න. Git කිසි විටෙකත් අමතක නොකරයි, නමුත් එය කිසි විටෙකත් ඔබේ රහස් මතක තබා නොගන්නා බවට ඔබට සහතික විය හැකිය.

sca-මෙවලම්-මෘදුකාංග-සංයුතිය-විශ්ලේෂණ-මෙවලම්
ඔබේ මෘදුකාංග අවදානම් ප්‍රමුඛතාවය දෙන්න, නිවැරදි කරන්න සහ සුරක්ෂිත කරන්න
ඔබගේ නොමිලේ ගිණුම ලබා ගන්න.
කිසිදු ක්රෙඩිට් කාඩ්පතක් අවශ්ය නොවේ.

ඔබේ මෘදුකාංග සංවර්ධනය සහ බෙදා හැරීම සුරක්ෂිත කරන්න

Xygeni නිෂ්පාදන කට්ටලය සමඟ