Kí ló dé tí ìwé ìròyìn git fi ń tú àṣírí síta lẹ́yìn tí wọ́n bá ti “parẹ́” wọ́n
Paarẹ laini kan lati faili kan ati commitṢíṣe àyípadà náà kò ní mú àwọn ìwífún tó ṣe pàtàkì kúrò nínú ibi ìpamọ́ rẹ. Tí àṣírí yẹn bá jẹ́ bẹ́ẹ̀, kọ́kọ́rọ́ API, ìwé ẹ̀rí, tàbí àmì ìdánimọ̀, ni a máa ń lò. committed, ó wà nínú ìtàn Git rẹ. Ẹnikẹ́ni tó bá ń sáré àkọọ́lẹ̀ git -p, ifihan git, tabi ṣayẹwo awọn iyatọ lati igba atijọ commits tun le gba a pada.
Bí o tilẹ̀ ń tún fáìlì kọ tàbí o rọ́pò iye náà, gitlog ó ń pa gbogbo ìlà gbogbo ìyípadà mọ́. Èyí jẹ́ nípa ìṣètò. Gbogbo àwòṣe Git dá lórí àìyípadà commit ìtàn àti àwọn ẹ̀dà tí a pín kiri. Nítorí náà, àyàfi tí o bá tún ìtàn kọ ní tààràtà, àṣírí rẹ ṣì wà níbẹ̀. Èyí ni ọ̀ràn tó wúlò:
⚠️ Àpẹẹrẹ ẹ̀kọ́, má ṣe ṣiṣẹ́ nínú iṣẹ́-ṣíṣe
Ó ti pẹ́ jù. gitlog ṣi fihan bọtini yẹn ni ibẹrẹ commit.
Àwọn èrò tí kò tọ́ nípa git stash àti git rebase
Ọpọlọpọ awọn olupilẹṣẹ ro pe ibi ipamọ git Ó ń ran àwọn àṣírí lọ́wọ́ láti fi pamọ́ tàbí láti nu àwọn àṣírí. Kì í ṣe òótọ́. ibi ipamọ git awọn selifu nikan àkójọ iṣẹ́ awọn ayipada fun igba diẹ; ko kan rara commit ìtàn. Tí àṣírí bá wà láéláé committed, fífi àwọn àyípadà pamọ́ lẹ́yìn náà kò ṣe ohunkóhun láti nu ún mọ́.
Nipa kini atunse gitBó tilẹ̀ jẹ́ pé ó lè tún ìtàn kọ, ó gbọ́dọ̀ ṣe é kí ó tó di pé a ṣe écisely. Mo n sáré lásán git rebase -i àti àtúntò tàbí fífúnni ní ìfúnpọ̀ commits kò yọ àwọn àṣírí kúrò àyàfi tí o bá ṣe àtúnṣe tàbí fi wọ́n sílẹ̀ ní tààràtà. Àti bí ó tilẹ̀ jẹ́ pé ìṣẹ̀dá tàbí fọ́ọ̀kì kan wà pẹ̀lú ìṣẹ̀dá àtilẹ̀wá náà commits, àṣírí rẹ ń gbé.
Èyí tó tún burú jù ni pé, ṣíṣe àtúnṣe láìfi agbára múni tàbí ṣíṣe àtúnṣe pẹ̀lú àwọn alábáṣiṣẹpọ̀ lè mú àwọn ìwé ẹ̀rí tí a ti fi hàn padà nípasẹ̀ ìṣọ̀kan.
⚠️ Àpẹẹrẹ ẹ̀kọ́, má ṣe lò ó ní àyíká gidi
⚠️ Àpẹẹrẹ ẹ̀kọ́, má ṣe ṣiṣẹ́ lórí ibi ìpamọ́ iṣẹ́
Ṣatunkọ commit tí ó ní àṣírí náà, ṣùgbọ́n gbàgbé láti mú un kúrò. rẹ gitlog ṣile wo mímọ́, ṣugbọn akoonu ti o ni imọlara tun ṣee gba pada.
Àwọn Ewu Àgbáyé Gíga Láti Inú Ìwé Ẹ̀rí Gbàgbé Nínú Ìtàn Git
Èyí kì í ṣe ti èrò orí. Àwọn agbésùnmọ̀mí ń wo àwọn ibi ìpamọ́ gbogbogbòò àti ti ìkọ̀kọ̀ láti rí àṣírí tí wọ́n fi pamọ́ sí. commit àwọn ìtàn. Àwọn fọ́ọ̀kì GitHub, ibi ìpamọ́ dígí, àti ibi ìpamọ́ CI/CD pipelinegbogbo wọn le ni awọn ami ti a ti gbagbe wọnyẹn.
- Kọ́kọ́rọ́ API tí ó ti jò láti ọ̀dọ̀ àtijọ́ kan gitlog Ó mú kí ẹgbẹẹgbẹ̀rún ènìyàn ní owó ìsanwó lórí ìkùukùu fún ilé-iṣẹ́ tuntun kan.
- Àwọn àmì OAuth commitWọ́n lo ted, lẹ́yìn náà wọ́n “pa á”, láti jí àwọn àkọọ́lẹ̀ olùlò gbé.
- Àwọn àṣírí tí a bò mọ́lẹ̀ nínú àwọn iṣẹ́ àkànṣe tí ó ṣí sílẹ̀ ló fa àwọn ìṣẹ̀lẹ̀ ààbò pàtàkì.
Àwọn ìṣòro yìí pọ̀ sí i ní ìwọ̀nba CI/CDGbogbo iṣẹ́ tí ó bá ń ṣe àkójọpọ̀ ibi ìpamọ́ kan ń ṣiṣẹ́ gitlog lábẹ́ ààbò, àti gbogbo ohun ìṣẹ̀dá ilé lè ní àwọn àmì àṣírí tí a ti fi hàn.
Mímú Dáta Tó Ní Ìfọkànsí Wíwà Pẹ̀lú Gít filter-repo
Tí ìbàjẹ́ náà bá ṣẹlẹ̀, ohun èlò tó ṣeé gbẹ́kẹ̀lé jùlọ láti fi nu ni git àlẹmọ-repo. Ko atunse git, èyí tí ó tún kọ olukuluku commits, git àlẹmọ-repo le tun kọ gbogbo rẹ̀ commit ìtàn tó dá lórí ipa ọ̀nà fáìlì, àwọn ìlànà, tàbí àkóónú.
Àpẹẹrẹ: láti pa gbogbo àwọn ìrísí mọ́ config.json tí ó lè ní àwọn àṣírí nínú:
⚠️ Àpẹẹrẹ ẹ̀kọ́, ṣàyẹ̀wò nínú ibi ìdánwò kí o tó lò ó nínú iṣẹ́-ṣíṣe
Tabi lati mu gbogbo kuro commitàwọn tí ó ní okùn pàtó kan (fún àpẹẹrẹ, AWS_SECRET_ACCESS_KEY):
⚠️ Àpẹẹrẹ ẹ̀kọ́, ṣàyẹ̀wò nínú ibi ìdánwò kí o tó lò ó nínú iṣẹ́-ṣíṣe
Ṣọ́ra: Èyí yóò tún kọ commit Àwọn hashes. O gbọ́dọ̀ fi agbára tì í kí o sì sọ fún gbogbo àwọn alábáṣiṣẹpọ̀. Èyíkéyìí àwọn kọ́kọ́rọ́ ìdásílẹ̀ tàbí ìṣiṣẹ́ tí a so mọ́ commit Àwọn hashes yóò fọ́.
Bakannaa, awọn irinṣẹ bii Ẹ̀rọ ìfọmọ́-àtúnṣe BFG wọ́n ní àwọn agbára kan náà ṣùgbọ́n wọn kò rọrùn púpọ̀, wọ́n sì ti di ohun ìgbàanì fún àwọn ọ̀ràn tó díjú.
Dídènà jíjò àṣírí kí wọ́n tó dé Git
Ìdènà ju ìfọmọ́. Èyí ni bí a ṣe lè dá àwọn àṣírí dúró kí wọ́n má baà lù ú láéláé. gitlog:
1. Pre-commit Hooks
Lo awọn irinṣẹ bii pre-commit, gitleaks, tabi talisman láti ṣe àwárí fún àwọn àṣírí kí ó tó di ìgbà tí a bá ṣe ìwádìí commits:
2. CI/CD Pipeline Fifi ipa ṣiṣẹ
Ṣe afikun wiwa ikoko sinu awọn iṣẹ CI rẹ. Ikuna n kọ nigbati a ba ri awọn aṣiri. Ṣe eyi ni eto imulo.
3. asiri Management
Má ṣe lo àwọn ìwé ẹ̀rí tó lágbára. Lo àwọn oníyípadà àyíká, àwọn ibi ìpamọ́, tàbí àwọn olùṣàkóso ìkọ̀kọ̀ láti ọjọ́ kìíní.
4. Àwọn ìgbẹ́kẹ̀lé àyẹ̀wò
Má ṣe gbẹ́kẹ̀lé àwọn àpò ẹni-kẹta láìfọkàntán. Àwọn àṣírí lè jó jáde nípasẹ̀ àwọn ìpele npm, PyPI, tàbí Docker.
Àtúnṣe Ìkẹyìn: Àṣírí Scrub pẹ̀lú git filter-repo
Pípa àwọn àṣírí rẹ́ kúrò nínú kódì kò tó. gitlog máa pa àkọsílẹ̀ gbogbo rẹ̀ mọ́ àyàfi tí o bá ṣe ìgbésẹ̀ láti tún ìtàn kọ. Má ṣe gbẹ́kẹ̀lé ibi ipamọ git tàbí èyí tí a sè ní ìdajì atunse git awọn igbiyanju. Lo git àlẹmọ-repo nígbà tí o bá nílò ìmọ́tótó jíjinlẹ̀, kí o sì fipá mú àwọn ìlànà àti ìwòran kí àwọn àṣírí tó dé ibi ìkópamọ́ rẹ ní àkọ́kọ́.
Fún ìwádìí ìkọ̀kọ̀ tó ń ṣiṣẹ́, ronú nípa lílo àwọn irinṣẹ́ bíi Xygeni lati ni aabo rẹ pipelines, fipá mú commit ìmọ́tótó, àti ìdènà jíjò tó gbowólórí kí wọ́n tó yọ. Git kì í gbàgbé, ṣùgbọ́n o lè rí i dájú pé kò rántí àṣírí rẹ rárá.





