Git: kaip pašalinti failą iš „Commit“.

Git: kaip pašalinti failą iš „Commit“.

Nelaimingi atsitikimai įvyksta, jei dirbate Git. Galbūt netyčia įtraukėte failą, kurio ten neturėtų būti, arba jūsų įsipareigojimas nėra labai aiškus. Tai tik keli scenarijai, kai galbūt norėsite ištrinti failą iš įsipareigojimo.

Git: kaip pašalinti failą iš „Commit“.

Šis vadovas tiksliai pasakys, kaip ištrinti failą iš įsipareigojimo ir kodėl turėtumėte būti ypač atsargūs naikinant Git failą.

Kaip pašalinti failą iš „Git Commit“.

Yra keletas būdų, kaip ištrinti failą iš „Git“ įsipareigojimo, atsižvelgiant į tai, ar tai vietinis įsipareigojimas, ar jau perkėlėte jį į nuotolinį atkūrimą. Paprasčiausias būdas būtų ištrinti visą įsipareigojimą „Git“ , bet jei norite išlaikyti daugumą failų, štai kaip galite naudoti „git reset“, kad ištrintumėte failą iš vietinės saugyklos:

  1. Naudokite git log, kad surastumėte įsipareigojimą, kuriame yra failas, kurį norite pašalinti.
    Git: kaip pašalinti failą iš „Commit“.
  2. Vykdykite git reset –soft HEAD^, kad anuliuotumėte paskutinį įpareigojimą, bet išlaikytumėte pakeitimus sustojimo srityje.
    Git: kaip pašalinti failą iš „Commit“.
  3. Pašalinkite failo, kurį norite pašalinti, stadiją naudodami git reset HEAD .
    Paleidžiant" terminale" width="578" height="363" data-recalc-dims="1" data-src="https://i0.wp.com/www.alphr.com/wp-content/uploads/ 2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize=578%2C363&ssl=1" data-srcset="https://i0.wp.com/www .alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?w=578&ssl=1 578w, https://i0. wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize=300%2C188&ssl=1 300w , https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize =510%2C320&ssl=1 510w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by- Step-3.png?resize=400%2C250&ssl=1 400w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a -Commit-Step-by-Step-3.png?resize=302%2C190&ssl=1 302w" data-sizes="(maks. plotis: 578px) 100vw, 578px">
  4. Dar kartą patvirtinkite likusius failus naudodami git commit -m „Jūsų patvirtinimo pranešimas“.
    Git: kaip pašalinti failą iš „Commit“.

Nuo „Git 2.23.0“ atnaujinimo taip pat galite naudoti „git“ atkūrimą, pavyzdžiui:

  1. Įveskite git restore –stage ir pakeiskite „filepath“ į failą, kurį norite pašalinti.
    Vykdydamas" komanda komandų eilutėje" width="578" height="363" data-recalc-dims="1" data-src="https://i0.wp.com/www.alphr.com/wp-content /uploads/2023/12/git-restore-1.png?resize=578%2C363&ssl=1" data-srcset="https://i0.wp.com/www.alphr.com/wp-content/uploads/ 2023/12/git-restore-1.png?w=578&ssl=1 578w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1 .png?resize=300%2C188&ssl=1 300w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=510% 2C320&ssl=1 510w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=400%2C250&ssl=1 400w, https: //i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=302%2C190&ssl=1 302w" data-sizes="(max-width : 578px) 100vw, 578px">
  2. Tada įvykdykite: git commit -c ORIG_HEAD .
    Git: kaip pašalinti failą iš „Commit“.

Kita alternatyva visiškai pašalinti failą yra tai:

  1. Pašalinkite failą naudodami git rm .
    Git: kaip pašalinti failą iš „Commit“.
  2. Pakeiskite „failo pavadinimą“ tikruoju failo pavadinimu.
  3. Įsipareigokite naudodami keitimo vėliavėlę įvesdami git commit – amend .
    Git: kaip pašalinti failą iš „Commit“.

Komanda „rm“ pašalina failą iš darbo medžio ir indekso. Tai reiškia, kad jis bus visiškai pašalintas iš vietinių ir nuotolinių atpirkimo sandorių. Tai naudinga komanda, kai stebite failą ir vėliau nusprendžiate, kad jo nebereikia sekti, todėl galite ištrinti jį iš viso projekto.

Taip pat galite apsvarstyti galimybę ištrinti pačią Git šaką, jei norite pašalinti visus įsipareigojimus ir failus šakoje.

Kodėl pašalinti failą iš „Git Commit“?

Yra keletas priežasčių, kodėl jums gali tekti pašalinti failą iš „Git“ įsipareigojimo. Pažvelkime į keletą.

Įsipareigojimų istorijos supaprastinimas

Dideliuose ir sudėtinguose projektuose įsipareigojimų istorija gali būti pernelyg apsunkinta pakeitimų, atnaujinimų ir pataisymų. Ir kai kurių iš šių pakeitimų tiesiog nebūtina. Kartais gali būti įrašytas failas, kuris nepadeda jokios naudos projekto eigai ar aiškumui, pvz., eksperimentinė funkcija, kuri nepasiteisino, arba laikinas failas, kuris nebegalioja.

Tokių failų pašalinimas iš įsipareigojimų gali žymiai sugadinti projekto istoriją ir palengvinti komandos nariams suprasti kūrimo laiko juostą. Jei esate komandos dalis, aiški ir glausta įsipareigojimų istorija padeda jūsų komandos nariams prisitaikyti prie jūsų projekto evoliucijos ir leidžia jiems žinoti, negaištant laiko sudėtingam kodui iššifruoti.

Klaidų taisymas

Klaidų taisymas yra bene dažniausia priežastis, kodėl failas pašalinamas iš įsipareigojimo „Git“. Pavyzdžiui, galbūt vėlavote vykdyti projektą ir paskubomis netyčia įtraukėte derinimo žurnalo failą prie savo įsipareigojimo. Arba po įsipareigojimo supratote, kad įtraukėte failo versiją, kuri nėra galutinė ar atnaujinta, bet senesnė WIP. Arba failas gali būti visiškai nepageidaujamas arba žalingas.

Tokiose situacijose, ištrynus failą iš įsipareigojimo, išsaugomas jūsų įsipareigojimų istorijos vientisumas ir išvaloma nuo nereikalingų ar potencialiai žalingų failų. Norite užtikrinti, kad tik numatytas turinys pateks į galutinį juodraštį.

Jautrių ar įslaptintų duomenų pašalinimas

Lengviau, nei gali atrodyti, netyčia įrašyti neskelbtinus duomenis. Tačiau tai klaida, kuri gali turėti rimtų pasekmių. Pavyzdžiui, šiais laikais API raktai yra didelė daugelio kodavimo projektų dalis, ypač augant AI ir intensyviai integruojant žiniatinklio tinklą. Tačiau API raktai yra privatūs ir turi būti saugomi nuo smalsių akių. Galite dirbti su nauja funkcija naudodami API ir netyčia įrašyti failą, kuriame yra raktas, arba konfigūracijos failą su duomenų bazės kredencialais.

Dėl tokio pobūdžio priežiūros gali atsirasti saugumo spragų, kurios gali atskleisti neskelbtiną informaciją neįgaliotiems asmenims. Tokiais atvejais failo pašalinimas iš įsipareigojimo neapsiriboja paprastu klaidų taisymu – tai turite padaryti, ypač jei dirbate kaip komandos dalis arba įmonėje. Tai panašu į supratimą, kad netyčia bendrinate konfidencialų dokumentą viešajame aplanke ir greitai perkėlėte jį į saugią vietą.

Svarstymai, kuriuos reikia nepamiršti

Kartais failo ištrynimas iš saugyklos nėra toks paprastas, kaip norėtumėte. Venkite šių galimų problemų.

Saugyklų konfliktai

Failų pašalinimas iš viešųjų ar bendrinamų įsipareigojimų nėra kažkas, ko turėtumėte daryti atsainiai. Atsižvelgiant į failo pobūdį ir projekto tipą, tai gali labai nuvilti arba suklaidinti jūsų komandos narius. Be to, tai sukelia konfliktus tarp jų vietinių saugyklų ir nuotolinio. Taigi, prieš ištrindami failą, greitai pasikalbėkite su savo komanda ir paaiškinkite, ką darote ir kodėl.

Tai gali būti taip paprasta, kaip išsiųsti pranešimą savo komandos pokalbių platformoje arba iškelti jį atskirame susitikime. Šis įspėjimas yra ne tik mandagus. Tai leidžia jūsų komandos nariams tęsti savo darbą sutrikusiems. Tai taip pat atveria duris atsiliepimams – galbūt komandos draugas turi priežastį laikyti tą failą įsipareigojime, o gal jie turi geresnį problemos sprendimą.

Prarasti duomenys

Tvarkydami saugyklą nenorite išmesti to, kas svarbu, ypač vykdant didesnius projektus. Taigi, prieš įsipareigodami ištrinti failą, skirkite sekundę, net trečią, pažiūrėkite į failą, kurį ketinate pašalinti.

Paklauskite savęs: „Ar šiame faile yra koks nors kodas, duomenys ar informacija, kurios gali prireikti vėliau? Tai panašu į seną aplanką kompiuteryje; kartais randate failus, kurie tuo metu atrodė nesvarbūs, bet dabar yra vertingi. Tokiu būdu nepateksite į situaciją, kai įnirtingai ieškosite kodo ar duomenų, kuriuos anksčiau klaidingai laikėte nereikalingais.

Grįžti yra geriau viešosioms saugykloms

Kai dirbate su viešosiomis saugyklomis, dažnai geriau naudoti „ git revert “ kaip neardomąjį būdą ką nors pašalinti iš saugyklos. Tai leidžia anuliuoti pakeitimus skaidriu ir atsekamu būdu, kurį jūsų komandos nariai gali lengvai stebėti.

Jei dirbate su atvirojo kodo projektais ar bet kokiomis viešomis bendradarbiavimo pastangomis, kai pakeitimai gali turėti įtakos daugeliui bendradarbių, viskas bus aišku. Komanda „git revert“ iš esmės sukuria naują įsipareigojimą, kuris anuliuoja ankstesnio pakeitimus nekeičiant projekto istorijos. Tai pagarba kitiems bendradarbiams ir palaiko projekto laiko juostos tęstinumą bei vientisumą. Jūs atvirai taisote klaidą grupės projekte ir išsaugote visų indėlį. Ir projekto istorija lieka nepakitusi, kad visi galėtų pamatyti ir suprasti.

Tvarkykite „Git“ istoriją

Nesunku netyčia įtraukti failą, kuriame nėra vietos Git įsipareigojime, į Git įsipareigojimą. Laimei, taip pat lengva grąžinti šį įtraukimą. Priklausomai nuo to, ko norite, yra įvairių būdų tai padaryti. Tiesiog nepamirškite turėti omenyje savo komandos, jei esate komandos narys, ir nuosekliai laikykite vietines bei nuotolines saugyklas.

Ar kada nors netyčia įtraukėte neteisingą failą į savo Git įsipareigojimą? Koks buvo jūsų sprendimas? Parašykite komentarą žemiau. Mes visada noriai juos skaitome.


„BaldurS Gate 3“ požeminis įėjimas

„BaldurS Gate 3“ požeminis įėjimas

Underdark yra pavojinga požeminė zona „Baldur's Gate 3“. Jis pilnas mirtinų būtybių, bet jame taip pat yra brangių daiktų,

Lyft vs. „Uber“ tvarkyklės reikalavimai

Lyft vs. „Uber“ tvarkyklės reikalavimai

Turėdami galimybę uždirbti bet kada ir bet kur ir susidėlioti savo tvarkaraštį, tapti Lyft arba Uber vairuotoju skamba kaip geras sandoris. Bet ar tu

Kaip įjungti slapukus

Kaip įjungti slapukus

Kiekvienas, kuris buvo prisijungęs, tikriausiai susidūrė su iššokančiuoju langu, kuriame parašyta: „Ši svetainė naudoja slapukus“. Jums visada suteikiama galimybė priimti visus

Būkite saugūs už biuro ribų

Būkite saugūs už biuro ribų

Jūsų įmonės tinklas gali būti užrakintas saugiau nei Fort Knox, bet tai nereiškia, kad jūsų nuotolinis darbas ir kelių karių darbuotojai yra taip gerai

Kaip fotografuoti karalystės ašaromis

Kaip fotografuoti karalystės ašaromis

„The Legend of Zelda: Tears of the Kingdom“ (TotK) turi platų, gražų pasaulį. Yra tiek daug ką pamatyti ir pasimėgauti, todėl galite turėti akimirkų, kurių to norėsite

Kaip pasidaryti stalą iš obsidiano

Kaip pasidaryti stalą iš obsidiano

Obsidiano vartotojai gali sukurti daug dalykų naudodami užrašų programą, įskaitant lenteles. Lentelėje pateikiamas būdas suskirstyti sudėtingą informaciją ir palyginti

Kaip susitvarkyti „Minecraft“.

Kaip susitvarkyti „Minecraft“.

Įrankių ir ginklų kūrimo Minecraft jaudulys yra neprilygstamas. Tačiau šių daiktų ilgaamžiškumas yra ribotas. Laimei, „Minecraft“ suteikia jums būdą

Kaip paslėpti valdiklius „BlueStacks“.

Kaip paslėpti valdiklius „BlueStacks“.

Mobilieji žaidimai asmeniniame arba „Mac“ kompiuteryje naudojant „BlueStacks“ yra puikus būdas išplėsti savo patirtį, tačiau kartais ekrane esantys valdikliai gali trukdyti. Žaidimų pultelis

Ar „TikTok“ iš tikrųjų skelbia juodraščius?

Ar „TikTok“ iš tikrųjų skelbia juodraščius?

Jei esate užsidegęs TikToker ir dažnai skelbiate įrašus, kad išlaikytumėte savo žvaigždžių auditorijos įtraukimą, tikriausiai naudojate juodraščių skiltį (arba kūrėją

Kokiose šalyse galite žiūrėti „Disney Plus“? Kur tik nori

Kokiose šalyse galite žiūrėti „Disney Plus“? Kur tik nori

Kur galima įsigyti „Disney Plus“? „Disney+“ siūlo visas geriausias klasikines „Disney“ laidas ir filmus. Tai puiki pramoga vaikams ar norintiems suaugusiems