Git: kā noņemt failu no apņemšanās

Ja strādājat Gitā, notiek nelaimes gadījumi. Iespējams, nejauši esat iekļāvis failu, kuram tur nevajadzētu būt, vai arī jūsu apņemšanās nav īsti skaidra. Šie ir tikai daži gadījumi, kad, iespējams, vēlēsities dzēst failu no apņemšanās.

Git: kā noņemt failu no apņemšanās

Šī rokasgrāmata jums pastāstīs, kā tieši izdzēst failu no apņemšanās un kāpēc jums jābūt īpaši piesardzīgam, dzēšot Git failu.

Kā noņemt failu no Git Commit

Ir daži veidi, kā dzēst failu no Git commit, atkarībā no tā, vai tas ir lokāls apstiprinājums, vai arī jūs to jau esat pārsūtījis uz attālo repo. Vienkāršākais veids būtu dzēst visu apņemšanos pakalpojumā Git , taču, ja vēlaties paturēt lielāko daļu failu, šeit ir norādīts, kā varat izmantot “git reset”, lai izdzēstu failu no vietējās krātuves:

  1. Izmantojiet git žurnālu , lai atrastu apstiprinājumu, kurā ir fails, kuru vēlaties noņemt.
    Git: kā noņemt failu no apņemšanās
  2. Izpildiet git reset –soft HEAD^, lai atsauktu pēdējo apņemšanos, bet saglabātu izmaiņas pieturas apgabalā.
    Git: kā noņemt failu no apņemšanās
  3. Atceliet failu, kuru vēlaties noņemt, izmantojot git reset HEAD .
    Palaižot" terminālī" 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="(maksimālais platums: 578px) 100vw, 578px">
  4. Atkārtoti apstipriniet pārējos failus, izmantojot git commit -m 'Jūsu apstiprināšanas ziņojums.'
    Git: kā noņemt failu no apņemšanās

Kopš Git 2.23.0 atjauninājuma varat izmantot arī “git atjaunošanu”, piemēram:

  1. Ievadiet git restore –staged un aizstājiet “filepath” ar failu, kuru vēlaties noņemt.
    Izpildot" komanda komandrindā" 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. Pēc tam veiciet apņemšanos: git commit -c ORIG_HEAD .
    Git: kā noņemt failu no apņemšanās

Vēl viena alternatīva faila pilnīgai noņemšanai ir šādi:

  1. Noņemiet failu ar git rm .
    Git: kā noņemt failu no apņemšanās
  2. Aizstāt “filename” ar faila faktisko nosaukumu.
  3. Apstiprināt ar karodziņu Amend, ievadot git commit –amen .
    Git: kā noņemt failu no apņemšanās

Komanda “rm” noņem failu gan no darba koka, gan indeksa. Tas nozīmē, ka tas tiks pilnībā noņemts gan no vietējā, gan attālā repo. Tā ir noderīga komanda, kad izsekojat failu un vēlāk nolemjat, ka tas vairs nav jāizseko, tāpēc varat to izdzēst no visa projekta.

Varat arī apsvērt pašas Git filiāles dzēšanu, ja vēlaties noņemt visas saistības un failus filiālē.

Kāpēc noņemt failu no Git Commit?

Ir vairāki iemesli, kāpēc jums var būt nepieciešams noņemt failu no Git apņemšanās. Apskatīsim dažus.

Saistību vēstures vienkāršošana

Lielos un sarežģītos projektos saistību vēsture var kļūt pārāk apgrūtināta ar izmaiņām, atjauninājumiem un labojumiem. Un dažām no šīm izmaiņām vienkārši nav jābūt. Dažkārt var tikt izveidots fails, kas neveicina projekta gaitu vai skaidrību, piemēram, eksperimentāls līdzeklis, kas nav izdevies, vai pagaidu fails, kas vairs nav gaidīts.

Šādu failu noņemšana no saistībām var ievērojami izjaukt jūsu projekta vēsturi un atvieglot komandas dalībnieku izpratni par izstrādes laika grafiku. Ja esat daļa no komandas, skaidra un kodolīga saistību vēsture palīdz jūsu komandas dalībniekiem pielāgoties jūsu projekta attīstībai un informēt viņus, netērējot laiku sarežģīta koda atšifrēšanai.

Kļūdu labošana

Kļūdu labošana, iespējams, ir visizplatītākais iemesls faila noņemšanai no Git apņemšanās. Piemēram, jūs, iespējams, kavējāt kādu projektu un steigā nejauši pievienojāt atkļūdošanas žurnāla failu savai apņemšanai. Vai arī pēc apņemšanās jūs sapratāt, ka esat iekļāvis faila versiju, kas nav galīga vai atjaunināta, bet gan vecāka WIP versija. Alternatīvi, fails var būt kaut kas pilnīgi nevēlams vai kaitīgs.

Šādās situācijās, dzēšot failu no apstiprināšanas, tiek saglabāta izpildes vēstures integritāte un tā tiek tīra no nevajadzīgiem vai potenciāli kaitīgiem failiem. Jūs vēlaties nodrošināt, lai tikai paredzētais saturs nonāktu galīgajā melnrakstā.

Sensitīvu vai klasificētu datu noņemšana

Ir vieglāk, nekā varētu šķist, nejauši ievadīt sensitīvus datus. Bet tā ir kļūda, kurai var būt nopietnas sekas. Piemēram, API atslēgas mūsdienās ir liela daļa no daudziem kodēšanas projektiem, īpaši saistībā ar AI pieaugumu un intensīvāku tīmekļa integrāciju. Taču API atslēgas ir privātas, un tās ir jāglabā prom no nevēlamiem skatieniem. Iespējams, strādājat pie jaunas funkcijas, izmantojot API, un nejauši izveidojat failu, kurā ir atslēga, vai konfigurācijas failu ar datu bāzes akreditācijas datiem.

Šāda veida pārraudzība var izraisīt drošības ievainojamības, potenciāli pakļaujot sensitīvu informāciju nesankcionētām personām. Šādos gadījumos faila noņemšana no apņemšanās pārsniedz vienkāršu kļūdu labošanu — tas ir jādara, it īpaši, ja strādājat kā komandas daļa vai uzņēmumā. Tas ir līdzīgs apziņai, ka esat nejauši kopīgojis konfidenciālu dokumentu publiskā mapē un ātri pārvietojis to uz drošu vietu.

Apsvērumi, kas jāpatur prātā

Dažreiz faila dzēšana no repozitorija nav tik vienkārša, kā jūs vēlētos. Izvairieties no šīm iespējamām problēmām.

Repozitorija konflikti

Failu noņemšana no publiskajām vai koplietotajām saistībām nav nekas tāds, kas jums jādara nejauši. Atkarībā no faila veida un projekta veida tas var ievērojami apgrūtināt vai sajaukt jūsu komandas dalībniekus. Turklāt tas izraisa konfliktus starp viņu lokālajiem krātuvēm un tālvadības pulti. Tāpēc pirms faila dzēšanas ātri tērzējiet ar savu komandu un paskaidrojiet viņiem, ko jūs darāt un kāpēc.

Tas var būt tikpat vienkārši kā ziņojuma nosūtīšana komandas tērzēšanas platformā vai tā parādīšana pastāvīgajā sanāksmē. Šis brīdinājums ir ne tikai pieklājīgs. Tas ļauj jūsu komandas locekļiem turpināt darbu traucēti. Tas arī paver durvis atsauksmēm — iespējams, komandas biedram ir iemesls paturēt šo failu apņemšanā, vai varbūt viņiem ir labāks problēmas risinājums.

Zaudēti dati

Atbrīvojot savu krātuvi, jūs nevēlaties izmest kaut ko svarīgu, it īpaši lielākos projektos. Tāpēc, pirms apņematies dzēst failu, veltiet sekundi, pat trešo, apskatiet failu, kuru grasāties noņemt.

Pajautājiet sev: "Vai šajā failā ir kāds kods, dati vai informācija, kas varētu būt nepieciešama vēlāk?" Tas ir tāpat kā vecas mapes pārlūkošana datorā; dažreiz jūs varat atrast failus, kas tolaik šķita nesvarīgi, taču tagad tiem ir vērtība. Tādā veidā jūs nenokļūsit situācijā, kad izmisīgi meklējat koda daļu vai datus, kurus kļūdaini uzskatījāt par nevajadzīgiem.

Atgriezties ir labāka publiskajām krātuvēm

Strādājot ar publiskajām krātuvēm, bieži vien ir labāk izmantot “ git revert ” kā nesagraujošu veidu, kā kaut ko noņemt no repozitorija. Tas ļauj atsaukt izmaiņas pārredzamā un izsekojamā veidā, kam jūsu komandas locekļi var viegli sekot.

Ja strādājat ar atvērtā pirmkoda projektiem vai jebkādu publisku sadarbību, kurā izmaiņas var ietekmēt plašu līdzstrādnieku loku, tas viss ir skaidrs. Komanda “git revert” būtībā rada jaunu apņemšanos, kas atceļ izmaiņas no iepriekšējās, nemainot projekta vēsturi. Tā ir cieņa pret citiem līdzstrādniekiem un saglabā projekta laika skalas nepārtrauktību un integritāti. Jūs atklāti labojat kļūdu grupas projektā un saglabājat ikviena ieguldījumu. Un projekta vēsture paliek neskarta, lai visi to varētu redzēt un saprast.

Sakārtojiet Git vēsturi

Failu, kuram nav vietas Git saistībā, ir viegli nejauši iekļaut Git saistībā. Par laimi, šo iekļaušanu ir arī viegli atsaukt. Atkarībā no tā, ko vēlaties, ir dažādi veidi, kā to paveikt. Vienkārši neaizmirstiet paturēt prātā savu komandu, ja esat komandas dalībnieks, un saglabājiet konsekventu lokālo un attālo krātuvi.

Vai kādreiz esat nejauši iekļāvis nepareizu failu savā Git saistībā? Kāds bija jūsu risinājums? Ierakstiet komentāru zemāk. Mēs vienmēr labprāt tos lasām.


Leave a Comment

8 padomi un triki, kā gudrāk meklēt pakalpojumā Bing

8 padomi un triki, kā gudrāk meklēt pakalpojumā Bing

Neatkarīgi no tā, cik dominējošs Google ir meklētājprogrammu tirgū, mēs nevaram ignorēt Bing. Šeit ir 8 padomi un triki Bing meklēšanai, kas palīdzēs jums izmantot šīs meklētājprogrammas iespējas.

Kā atiestatīt Windows 11 rūpnīcas iestatījumus

Kā atiestatīt Windows 11 rūpnīcas iestatījumus

Vai vēlaties uzzināt, kā atiestatīt rūpnīcas iestatījumus operētājsistēmā Windows 11? Izlasiet emuāru, lai viegli uzzinātu visu par atkopšanas iespējām operētājsistēmā Windows 11.

Kā izmantot Microsoft meklēšanu pakalpojumā Bing, lai atrastu savus darba datus

Kā izmantot Microsoft meklēšanu pakalpojumā Bing, lai atrastu savus darba datus

Uzziniet, kā izmantot Microsoft meklēšanu Bing, lai efektīvi atrastu savus darba datus un uzlabotu produktivitāti.

Kā atcelt Netflix abonementu un deaktivizēt Netflix kontu

Kā atcelt Netflix abonementu un deaktivizēt Netflix kontu

Kā atcelt Netflix un anulēt konta abonementu. Var būt daudz iemeslu, kuru dēļ vēlaties atcelt savu Netflix kontu iPhone un citās ierīcēs. Lūk, kā to izdarīt.

Kā izslēgt komentārus Facebook ziņā

Kā izslēgt komentārus Facebook ziņā

Šajā emuārā uzziniet, kā varat izslēgt komentārus Facebook ziņās vai atspējot komentārus Facebook ziņās. Lasi emuāru un uzzini, kā!

Kā izdzēst lapu programmā Word {ceļvedis}

Kā izdzēst lapu programmā Word {ceļvedis}

Vai mēģināt dzēst tukšu lapu programmā Word? Šajā rokasgrāmatā mēs parādīsim, kā programmā Word izdzēst lapu vai tukšu lapu.

Kā Samsung televizorā izveidot savienojumu ar Wi-Fi

Kā Samsung televizorā izveidot savienojumu ar Wi-Fi

Lai gan televizors, visticamāk, labi darbosies bez interneta savienojuma, ja jums ir kabeļa abonements, amerikāņu lietotāji ir sākuši pārslēgties uz internetu.

Kā izslēgt novecošanu spēlē Sims 4

Kā izslēgt novecošanu spēlē Sims 4

Tāpat kā reālajā pasaulē, jūsu darbi Sims 4 ar laiku noveco un mirs. Sims dabiski noveco septiņos dzīves posmos: mazulis, mazulis, bērns, pusaudzis,

Kā padarīt attēlus mazākus obsidiānā

Kā padarīt attēlus mazākus obsidiānā

Obsidian ir vairāki spraudņi, kas ļauj formatēt piezīmes un izmantot grafikus un attēlus, lai padarītu tos nozīmīgākus. Lai gan formatēšanas iespējas ir ierobežotas,

BaldurS Gate 3 — izslēdziet Karlahu vai Andersu

BaldurS Gate 3 — izslēdziet Karlahu vai Andersu

“Baldur's Gate 3” (BG3) ir valdzinoša lomu spēle (RPG), ko iedvesmojuši Dungeons and Dragons. Tā ir plaša spēle, kas ietver neskaitāmus blakus uzdevumus