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.


BBC nutraukė 13 metų trukusią robotų taiką sugrąžindama robotų karus į JK televiziją

BBC nutraukė 13 metų trukusią robotų taiką sugrąžindama robotų karus į JK televiziją

Praėjo 13 metų nuo tada, kai Craigas Charlesas pristatė robotų karus tautai, kuri bando kovoti dėl kovoms paruoštų robotų kraujo (arba naftos). „Duobė, duobė, duobė“, sakė jie

Prekybos centras išmetė Fabio robotą po savaitės, kai žmonės šliaužioja

Prekybos centras išmetė Fabio robotą po savaitės, kai žmonės šliaužioja

Paprastai, jei jūsų pirmoji darbo savaitė baigiasi tuo, kad esate suvyniotas į burbulinę plėvelę ir siunčiamas per miestą, tikriausiai įdėjote koją

„Apple“ pastabos: kaip pakeisti lentelės stulpelių arba eilučių dydį

„Apple“ pastabos: kaip pakeisti lentelės stulpelių arba eilučių dydį

Šiame vadove sužinokite, kaip pakeisti lentelės stulpelio arba eilučių dydį „Apple Notes“ savo „iPhone“, „iPad“ ar „Mac“ įrenginiuose, kad galėtumėte reguliuoti jo aukštį ir plotį.

Apple Pay: kaip pridėti kortelę

Apple Pay: kaip pridėti kortelę

Naudoti „Apple Pay“ atsiskaityti su „iPhone“, „iPad“, „Apple Watch“ ar „Mac“ yra labai patogu. Tačiau kaip pridėti kortelės duomenis į mobilųjį telefoną

Kuo skiriasi „Google Keep“ ir „Tasks“?

Kuo skiriasi „Google Keep“ ir „Tasks“?

Nesate vieni, jei esate sumišę, kodėl „Google“ turi kelias užduočių programas. Iš pažiūros „Google Keep“ ir „Google Tasks“ turi tą patį tikslą. Bet kai

Life360 vs. Šeima360

Life360 vs. Šeima360

Jei ieškote puikaus GPS šeimos ieškiklio, galite būti neapsisprendę tarp Life360 ar Family360. Abi yra gerai žinomos šeimos stebėjimo programos su a

Kaip ištrinti visas išsaugotas paieškas „Twitter“.

Kaip ištrinti visas išsaugotas paieškas „Twitter“.

„Twitter“ išsaugotų paieškų parinktis leidžia greitai pasiekti užklausas per meniu šalia paieškos laukelio. Galite grįžti į išsaugotas paieškas

Ar „Venmo“ gali siųsti pinigus į „Cash App“?

Ar „Venmo“ gali siųsti pinigus į „Cash App“?

Tiek „Venmo“, tiek „Cash App“ pirmiausia yra skirtos tarpusavio pervedimams. Kadangi jie siūlo tą pačią paslaugą, natūralu, kad į juos žiūrima kaip į konkurentus. Bet

Kaip rasti ištrintus draugus „Snapchat“.

Kaip rasti ištrintus draugus „Snapchat“.

Jei kas nors jums trukdo „Snapchat“ arba jums atrodo neįdomūs jo momentai, galite ne tik juos blokuoti, bet ir pašalinti juos iš savo

Geriausi BaldurS Gate 3 ginklai

Geriausi BaldurS Gate 3 ginklai

Kaip ir daugelyje vakarėliu pagrįstų vaidmenų žaidimų (RPG) žaidimų, vykstančių požemių ir drakonų visatoje, „Baldur's Gate 3“ (BG3) reikalauja, kad žaidėjai pakiltų iki vieno lygio.