Kufuta Makosa kwa Usahihi: restore, reset, revert — sahihi na hatari
Mojawapo ya mada muhimu zaidi katika mahojiano na kazi halisi ni jinsi ya kutengua ulichokwisha fanya. Tutachunguza zana tatu zenye kina tofauti cha kutengua na tutazingatia muhimu zaidi: kuonyesha matukio maalum ambapo reset --hard inavuruga kazi ya timu, na revert ni mbadala salama. Maamuzi mazuri na mabaya — pamoja na madhara halisi.
- Utatumia ujasiri kutengua mabadiliko katika hatua yoyote: katika saraka ya kazi, katika fahirisi, na katika historia ya ahadi.
- Utaelewa tofauti ya msingi kati ya reset na revert na utajua katika hali gani kila moja inafaa.
- Utajifunza kuzuia makosa ya kawaida ambayo wanaoanza hufanya wanapotengua mabadiliko katika hazina ya timu.
Phần đầu bài giảng
Git restore: Kitufe cha Kughairi kwa Faili
- Git restore — kughairi mabadiliko ambayo hayajakamilishwa
- Inafanya kazi kama kitufe cha 'tengua' katika kihariri
- Salama — haibadilishi historia ya ahadi
- Inarudisha faili kwa hali ya mwisho iliyohifadhiwa
Fikiria umekosea kuokoa faili ikiwa na hitilafu na unataka kurudisha kila kitu kama ilivyokuwa. Git restore inafanya kazi kama kitufe cha kichawi cha kughairi — inarudisha faili kwa hali ya mwisho iliyoandikwa. Tofauti na amri nyingine za kusahihisha, restore inafanya kazi tu na mabadiliko ambayo hayajakamilishwa na ni salama kabisa kwa historia ya mradi wako. Hii ni zana ya kwanza unayopaswa kurejelea wakati wa marekebisho ya bahati mbaya, unapohitaji kurekebisha hali hiyo haraka bila hatari kwa historia ya mabadiliko.
Kughairi Mabadiliko kwenye Saraka ya Kazi
- git restore file.txt — rudisha faili kwa ahadi ya mwisho
- Inaghairi mabadiliko yote kwenye saraka ya kazi
- Salama — mabadiliko yanaweza kurejeshwa kupitia kihariri
- Angalia hali kwa git status kabla ya kurejesha
Wacha tuseme umetumia nusu saa kuhariri faili ya usanidi, lakini umegundua hauko sawa. Badala ya kurudisha kila mabadiliko kwa mkono, tekeleza git restore config.yml. Faili itarudi moja kwa moja kwa hali ya ahadi ya mwisho. Hii ni kama kufunga faili bila kuhifadhi, lakini kwa uhakika kwamba unarudi kwenye toleo la kufanya kazi.
# Kuonyesha urejeshaji wa faili
$ echo "Mabadiliko yenye makosa" > main.py
$ git status
$ git restore main.py
$ cat main.py
$ git status
Kuondoa Faili Kwenye Fahirisi
- git restore --staged file.txt — toa faili kwenye fahirisi
- Inahifadhi mabadiliko kwenye saraka ya kazi
- Tahadhari: bila --staged mabadiliko yatapotea
- Angalia git status kila wakati kabla ya kutekeleza
Moja ya makosa ya kawaida ni kuongeza faili isiyohitajika kwenye fahirisi kwa bahati mbaya. Kwa mfano, ulitekeleza git add dot na ukaongeza faili la muda la usanidi. Amri ya git restore yenye bendera ya staged na jina la faili settings.tmp itaiondoa kwa uangalifu kutoka kwenye fahirisi, lakini itahifadhi mabadiliko yote kwenye saraka ya kazi. Bila bendera ya staged, ungepoteza kazi yako, kwa hiyo kila wakati angalia hali kwa git status kabla ya kutekeleza restore. Sasa unajua jinsi ya kughairi mabadiliko kabla ya ahadi. Lakini nini ikiwa kosa tayari limeingia kwenye historia? Hapo ndipo git reset inakuja kusaidia.
# Umeongeza faili kwenye fahirisi kwa bahati mbaya
$ git add config.tmp
$ git status
# Ondoa kwenye fahirisi, hifadhi mabadiliko
$ git restore --staged config.tmp
$ git status
# Angalia kama faili bado iko kwenye saraka ya kazi
$ ls -la config.tmp
Bài giảng đầy đủ dành cho thuê bao
Còn 24 slide nữa trong phiên bản đầy đủ.
Video, toàn bộ slide, ghi chú, bài kiểm tra, gia sư AI và phỏng vấn sẽ mở sau khi đăng nhập và đăng ký thuê bao.
Đăng nhập hoặc đăng ký Đăng ký thuê baoNội dung bài giảng
- Git restore: Kitufe cha Kughairi kwa Faili
- Kughairi Mabadiliko kwenye Saraka ya Kazi
- Kuondoa Faili Kwenye Fahirisi
- Git reset: Jinsi Urejeshaji wa Historia Unavyofanya Kazi
- Reset --soft Salama: Mabadiliko Kwenye Fahirisi
- Reset --mixed Sanifu: Mabadiliko Kwenye Saraka ya Kazi
- Reset --hard Hatari: Ufutaji wa Kudumu
- Reset: Njia Tatu, Amri Moja
- git reset --soft: Kuandika Upya Historia Kwa Usalama
- Lini Kutumia --mixed na --hard
- Orodha ya Kuangalia: Je, Ungependa Kuchagua Reset Gani?
- Kwa Nini Huwezi Kufuta Kosa Kwa Urahisi?
- Jinsi git revert Inavyofanya Kazi Kwa Vitendo
- Kukataa Commits Kundi Moja Kwa Wakati Mmoja
- Reset: Kuandika Upya Historia Kwa Mitaa
- Revert: Kufuta Mabadiliko Kwa Usalama
- Nini Kitakachotokea Ukifanya Push: reset dhidi ya revert
- Kwa Nini reset --hard Ni Hatari
- Mfano wa Kupoteza Mabadiliko
- Jinsi ya Kurejesha Data
- Hatari za Kurudisha Nyuma Kwenye Tawi la Pamoja
- Kughairi Kwa Usalama Kwa kutumia revert
- Mlolongo Sahihi wa Hatua
- Lini Utumie Nini: restore, reset au revert
- Kanuni za Kufanya Kazi na Historia Binafsi na ya Pamoja
- Mwongozo wa Hatua kwa Hatua wakati wa Kosa
- Hitimisho na Kazi: Mkuu wa Kutengua
Bài viết liên quan đến bài học này
- Lệnh Git: bảng tra cứu với ví dụ dùng hằng ngày
- git checkout, switch và restore: khi nào dùng cái nào
- git reset và git revert: cách hoàn tác commit mà không phá lịch sử nhóm
- git reflog: cách khôi phục commit và nhánh đã mất
- Git và GitHub: khác nhau thế nào và liên hệ ra sao
Tất cả bài giảng của khóa học
- Utangulizi: Git kutoka mwanzoni hadi kwa msanidi programu anayejiamini
- Kwa nini Git inahitajika — na kwa nini bila yake huwezi kupata kazi
- Kusakinisha na Kusanidi: Kutayarisha Git kwa Matumizi ya Kwanza
- Hazina ya Kwanza: init, add, commit na uchawi wa faharasa
- Kusoma Historia: log, diff, show na Urambazaji wa Nyuma
- Matawi: Uhalisia Sambamba wa Msimbo Wako
- Kufuta Makosa kwa Usahihi: restore, reset, revert — sahihi na hatari
- GitHub na Hifadhi za Mbali: Msimbo Wako Hewani
- Kazi ya Timu: Forks, Matawi ya Sifa na Maombi ya Kuvuta
- Migogoro ya Kuunganisha Mabadiliko: Usiogope — Tuchambue na Tutatue
- Michakato ya Git katika Timu za Kweli: Njia gani ya kuchagua
- Zana za Kina: Rebase, Stash, Cherry-Pick na Lebo
- Mradi wa Mwisho: Kuiga Maendeleo ya Timu Halisi