Kā versiju kontroles programmatūra Git ļauj paredzami vienkāršu izmaiņu atsaukšanu. Bet pat izmaiņu atcelšanas jēdziens ir sarežģītāks, nekā jūs varētu iedomāties. Git repozitorijs nav gluži tas pats, kas failu kopa, ar kuru strādājat lokāli. Izmaiņu atsaukšana nozīmē precīzi apsvērt, kur tās vēlaties atsaukt.

gitizrakstīšanās, git atiestatīšana, un gitatjaunot ir komandas, kas var palīdzēt atgriezties pie iepriekšējās ne tikai koda bāzes, bet arī atsevišķu failu versijas. Iepazīstieties ar šo komandu detaļām, un ātri vien varēsit lēkāt pa failu vēsturi kā eksperts.

Ko vienalga nozīmē faila atiestatīšana?

Ir svarīgi ņemt vērā, ka faila atiestatīšana dažādiem cilvēkiem dažādos apstākļos var nozīmēt dažādas lietas. Tāpat, git atiestatīšana komanda var neatbilst jūsu cerībām attiecībā uz atiestatīšanas nozīmi.

Dažreiz jūs vēlaties atsaukt vietējās izmaiņas, lai fails atkal būtu sinhronizēts ar pašreizējo repozitoriju. Citos gadījumos, iespējams, vēlēsities atsaukt izmaiņas, kuras jau esat veicis krātuvē.

Lai izprastu atšķirību, svarīgi ir šādi termini: darba koks, pieturvietas zona un repozitorijs. Faili, kurus rediģējat lokāli, pieder darba kokam. Faili, kurus jūs veicat, galu galā nonāk repozitorijā. Kad veicat izmaiņu apkopošanu, jūs iestudējat failus. Faila saturs katrā no šīm vietām var būt atšķirīgs.

Skatīt arī: Advanced Git apmācība

Varat uzskatīt, ka faila atiestatīšana ir izmaiņu atsaukšana. Taču jūsu faila stāvoklis noteiks, kuras izmaiņas jūs faktiski atsaucat. Acīmredzams gadījums ir tad, kad veicat dažas izmaiņas, apņematies tās un vēlāk izlemjat, ka tās vairs nevēlaties.

Cits gadījums varētu būt tāds, ka esat izveidojis failu un tagad vēlaties to atcelt.

Kā atgriezt iepriekš izveidoto failu?

Apskatīsim gadījumu, kas ir vieglāk saprotams: jūs izveidojāt failu un tagad vēlaties atsaukt tajā veiktās izmaiņas.

Git komanda, lai to izdarītu, ir nedaudz neintuitīvi nosaukta izrakstīšanās. Jūs, iespējams, izmantojāt izrakstīšanās pirms pārslēgt filiāles, taču tā ir neliela daļa no komandas iespējām. Tas arī ļauj atjaunināt failus savā darba kokā, lai tie atbilstu tiem jebkurā repozitorija vēstures punktā. To var izdarīt noteiktai atzīmei, filiālei vai pat noteiktai saistībām.

Visnoderīgākā, vispārīgā šīs komandas forma ir:

git checkout [commit ID] — ceļš/uz/failu

Šeit mēs ejam noteiktu ceļu (ceļš/uz/fails), kas identificē tikai vienu failu. Mēs arī norādām izpildes ID, lai iegūtu failu tādu, kāds tas pastāvēja konkrētajā izpildes laikā. Šī komanda atjauninās failu tikai mūsu darba kokā.

Ņemiet vērā, ka faila iepriekšējās versijas pārbaude maina darba kopiju, to neveicot vai pat neiestudējot. Lai pilnībā pabeigtu repozitorija atsaukšanu, jums būs jāinstalē fails un jāizveido jauna apņemšanās.

Skatīt arī: Kā pārbaudīt projekta vēsturi, izmantojot git žurnālu

Kā es varu mainīt to, ko es iestudēju?

Cits atsaukšanas veids attiecas uz jūsu iestudējuma apgabalu. Tajā ir ietvertas izmaiņas, kuras veiksit blakus krātuvei. Ja esat iestudējis faila versiju un vēlāk izlemjat, ka nevēlaties to iekļaut nākamajā izpildē, vispirms vēlēsities to atcelt.

Jūs varat izmantot git atiestatīšana komanda, lai atceltu iestudēta faila darbību:

git reset HEAD ceļš/uz/fails

Vai varu ātri atsaukt vietējās izmaiņas?

Jā, varat atsaukt izmaiņas lokālajā failā, pirms tas ir iestudēts. Izmantojiet šādu komandu:

git checkout — ceļš/uz/fails

Ņemiet vērā, ka tas ir līdzīgs repozitorija izmaiņu atcelšanai, tikai izlaiž commit ID. Kad izpildīsit šo komandu, Git atsauks visas izmaiņas jūsu darba kopijā.

Kas par git atjaunošanu?

Jaunākām Git versijām ir jaunāka komanda: atjaunot. Vienkāršajiem gadījumiem, par kuriem mēs šeit runājām, varat izmantot tālāk norādītos ekvivalentus. Lai atsauktu repozitorijā veiktās izmaiņas:

git atjaunot -- avots [commit id] ceļš/uz/fails

Lai atceltu faila stadiju, izmantojiet:

git atjaunošana -- pakāpenisks ceļš/uz/fails

Un, lai atsauktu darba kopiju izmaiņas:

git atjaunošanas ceļš/uz/fails

Git versiju izveides jaudas apguve ir nenovērtējama

Lai gan var šķist, ka faila atiestatīšana ir ierasta darbība, praksē tas notiek diezgan reti. Pastāv lielāka iespējamība, ka jūs atcelsit visas saistības, nevis atsevišķus failus. Tomēr gadījumos, kad jums tas ir jādara, Git vismaz padara to diezgan vienkāršu.

Kā noņemt failu no Commit pakalpojumā Git

Izmantojiet šīs Git komandas, lai veiktu tādas darbības kā faila noņemšana no apņemšanās.

Lasiet Tālāk

DalītiesČivinātE-pasts
Saistītās tēmas
  • Programmēšana
  • GitHub
  • Web izstrāde
  • Programmēšana
Par autoru
Bobijs Džeks (Publicēti 63 raksti)

Bobijs ir tehnoloģiju entuziasts, kurš gandrīz divus gadu desmitus strādāja par programmatūras izstrādātāju. Viņš aizraujas ar spēlēm, strādā par žurnāla Switch Player galveno redaktoru un ir iegrimis visos tiešsaistes publicēšanas un tīmekļa izstrādes aspektos.

Vairāk no Bobija Džeka

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu