Kuinka poistaa sitoumus Gitissä

Kuinka poistaa sitoumus Gitissä

Sitoumuksen poistaminen Gitissä on jotain, jota saatat tehdä useammin kuin odotat. Tällaisen yleisen tehtävän tapauksessa sinun on todennäköisesti kätevä saada pikaopas.

Kuinka poistaa sitoumus Gitissä

Tämä artikkeli vastaa Git-sitoumuksen poistamiseen ja muihin mahdollisiin ratkaisuihin, joita voit kokeilla. Joten jos teet virheen viimeisessä sitoumuksessasi tai haluat puhdistaa reposi historian, lue eteenpäin saadaksesi selville.

Sitoumuksen poistaminen Gitissä

Voit poistaa sitoumuksen Gitissä muutamalla tavalla. Jos et halua tai voi muuttaa Git commit -viestiä , yleisin ratkaisu on käyttää "git reset"- ja "git revert" -komentoja.

Voit käyttää "git reset" -toimintoa seuraavasti:

  1. Etsi sitoumus, jonka haluat poistaa git logilla .
    Kuinka poistaa sitoumus Gitissä
  2. Käytä git reset -soft [commit hash] kumoaaksesi commit-komennon ilman, että mitään "nuking" tehdään.
    Kuinka poistaa sitoumus Gitissä
  3. Tai käytä komentoa git reset –hard [commit hash] palauttaaksesi poistettavaa vahvistusta edeltäväksi.
    Kuinka poistaa sitoumus Gitissä
  4. Korvaa "[commit hash]" kohdistettavan sitoumuksen hashilla.

Vaihtoehtoisesti voit myös käyttää "git rebase -i HEAD~[Number]" perustaaksesi viimeisimmän toimitusten määrän. Korvaa [numero] toimitusten määrällä. Git näyttää sinulle tiedoston, jota voit muokata ja poistaa sitoumuksen, jonka haluat poistuvan. Tee tämä vain, jos et ole jo tehnyt sitoumusta.

Tämä on pinnalla yksinkertainen menetelmä, mutta ole varovainen. Se poistaa pysyvästi kaikki muutokset sitoumuksissa sen jälkeen, kun olet palauttanut sen, joten varmista, että tämä on juuri sitä, mitä haluat.

Vaihtoehtoisesti voit käyttää "git revert" seuraavasti:

  1. Jos haluat säilyttää muutokset työhakemistossasi, käytä git revert [commit hash] . Tämä komento luo uuden toimituksen, joka kumoaa määrittämäsi toimituksen muutokset.
    Kuinka poistaa sitoumus Gitissä
  2. Palautuksen jälkeen työnnä muutokset etävarastoon git push -toiminnolla .
    Kuinka poistaa sitoumus Gitissä

Tässä on toinen vaihtoehto, jos haluat poistaa useita tiettyjä sitoumuksia:

  1. Käytä git checkout [last commit hash] tarkistaaksesi viimeinen toimitus, jonka pitäisi jäädä.
    Kuinka poistaa sitoumus Gitissä
  2. Tee uusi haara git checkout -b -korjauksella .
    Kuinka poistaa sitoumus Gitissä
  3. Suorita git cherry-pick [specific commit hash] ensimmäisellä sitoumuksella, jonka haluat säilyttää.
    Kuinka poistaa sitoumus Gitissä
  4. Toista muut sitoumukset, jotka haluat säilyttää.
  5. Suorita git checkout master kassapäällikölle.
    Kuinka poistaa sitoumus Gitissä
  6. Palauta isäntä viimeiseen käyttökelpoiseen vahvistukseen git resetillä –hard [last commit hash] .
    Kuinka poistaa sitoumus Gitissä
  7. Yhdistä uusi haara masteriksi git merge -korjauksella .
    Kuinka poistaa sitoumus Gitissä
  8. Suorita sitten git push -f origin master työnnäksesi kaukosäätimeen.
    Kuinka poistaa sitoumus Gitissä

Milloin sinun tulee poistaa sitoumukset

On muutamia tilanteita, joissa sitoumuksen poistaminen on parasta tehdä. Tässä muutama niistä.

Huono koodi

Yksi yleisimmistä syistä, miksi haluat päästä eroon sitoumuksesta, on se, että siinä oleva koodi ei yksinkertaisesti leikkaa sitä. Ehkä olet tehnyt virheen ja haluat aloittaa alusta, tai ehkä olet ymmärtänyt, että tulos ei vastaa sitä, mitä yrität saavuttaa. Olet esimerkiksi saattanut lisätä funktion, joka on ristiriidassa toisen koodisi osan kanssa. Tämän sitoumuksen poistaminen antaa sinun palata takaisin, korjata ongelman ja sitten vahvistaa korjatun version uudelleen.

Jos olet juuri tehnyt osan koodia ja sitten havainnut räikeän virheen, kuten bugin tai koodinpätkän, jonka ei olisi pitänyt olla siellä, mutta sinulla ei ole aikaa korjata sitä – se on hyvä syy sitoumuksen poistamiseksi. Sen sijaan, että antaisit tämän tarpeettoman tai virheellisen koodin jäädä projektisi historiaan (ja saattaa aiheuttaa sekaannusta tai jopa katastrofaalisia virheitä virheenkorjauksessa), voit poistaa kyseisen sitoumuksen. Tämä pitää projektisi puhtaana.

Arkaluonteiset tiedot

Arkaluontoisten tietojen vahingossa lisääminen tapahtuu useammin kuin uskotkaan. Ei ole yllättävää, että se voi olla huomattava turvallisuusriski, olipa kyseessä henkilökohtainen tai yritys. Mitä tahansa salasanoista ja API-avaimista henkilökohtaisiin tietoihin voi lujasti päätyä sitoumukseesi. Ja kun se on siellä projektitilassa, kuka tahansa voi käyttää sitä ja mahdollisesti rikkoa sinun tai tiimisi turvallisuutta.

Nämä onnettomuudet ovat ehkä jopa parempia syitä poistaa sitoumus kuin pelkkä huono koodi. Voit muokata viallisen koodin pois ja olla huolehtimatta siitä, että se pysyy projektihistoriassa, mutta tämä ei ole riski, jonka haluat ottaa arkaluontoisten tietojen kanssa. Jos esimerkiksi toimitat vahingossa API-avaimia sisältävän tiedoston, tämän vahvistuksen poistaminen estää tätä avainta joutumasta vääriin käsiin.

Historian pitäminen puhtaana

Toinen vahva syy Git-sitoumuksen poistamiseen on pitää projektihistoriasi puhtaana ja yksinkertaisena. Kun työskentelet projektin parissa, toimitushistoriasi tulee yhä enemmän sekaisin pienistä päivityksistä, kokeiluista tai muutoksista, jotka eivät ole enää merkityksellisiä. Kun haluat käydä läpi historiaa mistä tahansa syystä, kuten selvittääksesi miksi teit tietyn muutoksen tai palataksesi vakaaseen tilaan kokeilun jälkeen, sekava historia voi muodostua ongelmaksi.

Poistamalla tarpeettomat sitoumukset pidät projektihistoriasi siistinä ja helposti sinun ja muiden tiimisi jäsenten seurattavana. Se on vielä hyödyllisempää ennen haaran yhdistämistä, jotta voit esittää selkeän, tiiviin ja asiaankuuluvan historian kaikille, jotka tarkistavat koodisi. Jos sinulla on esimerkiksi useita toimituksia, jotka olivat vain pieniä parannuksia ominaisuuteen, saatat haluta yhdistää ne yhdeksi toimitukseksi pitääksesi historiasi siistinä.

Parhaat käytännöt ja vinkit

Ennen kuin poistat sitoumuksen, noudata joitain parhaita käytäntöjä pitääksesi projektisi toimivana ja välttääksesi ei-toivotut seuraukset.

Varmuuskopioi työsi

Ennen kuin poistat mitään sitoumusta Gitissä, on hyvä idea varmuuskopioida työsi, vaikka uskoisit, että sen säilyttäminen saattaa olla hyödytöntä. Se voi tuntua ylimääräiseltä työltä, mutta varmuuskopio on turvaverkko siltä varalta, että asiat eivät mene suunnitelmien mukaan.

Voit luoda varmuuskopion tekemällä uuden haaran, joka peilaa arkistosi nykyistä tilaa. Luo esimerkiksi varmuuskopiohaara "feature-backup", ennen kuin poistat sitoumuksen, joka esitteli uuden ominaisuuden. Tämä antaa sinulle vapauden kokeilla ja poistaa sitoumuksia ilman pelkoa tärkeän työn menettämisestä. Joten jos huomaat myöhemmin, että tarvitset jotain poistetusta sitoumuksesta, et ole menettänyt sitä lopullisesti. Jos päätät, että et enää tarvitse kyseistä varmuuskopiota, voit poistaa Git-haaran .

Älä poista julkisia sitoumuksia

Kun työskentelet julkisten tietovarastojen kanssa, erityisesti avoimen lähdekoodin projekteissa tai ryhmäympäristöissä, sinun tulee olla erityisen varovainen sitoumusten poistamisessa. Kun sitoumus on työnnetty julkiseen arkistoon ja muut ovat vetäneet sen, sitoumuksen poistaminen voi hämmentää tai häiritä kaikkia mukana olevia ja häiritä työtä. Se on eräänlaista maton vetämistä jonkun alta – ei miellyttävä kokemus, vaan pikemminkin huomaamaton. Jos sinun on poistettava sitoumus, joka on jo julkinen, kerro siitä tiimillesi tai projektin avustajille etukäteen, jotta he tietävät, mitä tapahtuu. Näin jokainen on tietoinen ja voi muokata työtään sen mukaan.

Käytä Palauta julkisiin repoihin

Jos haluat silti kumota muutokset julkisessa arkistossa, voit peruuttaa yhdistämisen Gitissä sen sijaan, että poistaisit sitoumuksen pysyvästi . Toisin kuin git reset, joka kirjoittaa historian tehokkaasti uudelleen, "git revert" luo uuden sitoumuksen, joka kumoaa edellisessä toimituksessa tehdyt muutokset.

Siksi tämän komennon käyttäminen on paljon turvallisempaa ja läpinäkyvämpää, varsinkin kun työskentelet muiden kanssa. Kerrot avoimesti tiimisi jäsenille, että olet saattanut tehdä virheen, ja annat takaisin sitoumuksen, joka korjaa sen. Jos työnsit sitoumuksen, jossa on merkittävä virhe, "git revert" antaa sinun kumota vian vaikutukset nopeasti ja säilyttää projektin historian ennallaan. Tämä säilyttää projektin historian eheyden ja pitää kaikkien paikallisen arkiston yhtenäisenä kaukosäätimen kanssa.

Tarkista ennen poistamista

Yksi suurimmista riskeistä sitoumusten poistamisessa Gitissä on siihen sitoutumiseen käyttämäsi ajan ja vaivan menettäminen. Voit estää tämän tarkistamalla kaikki muutokset kussakin sitoumuksessa, jonka haluat poistaa. Käytä "git log tai git show [commit hash]" tarkistaaksesi sitoumukset. Jos olet poistamassa sitoumusta, joka lisäsi useita toimintoja koodiisi, varmista, että projektisi ei tarvitse näitä toimintoja toimiakseen tai että ne on kopioitu muualle.

Sitoutuminen siihen

On monia syitä poistaa Git-sitoumus, kuten pitää historiasi siistinä, korjata hämmentäviä virheitä tai pitää arkaluontoiset tietosi turvassa uteliailta katseilta. Oli syy mikä tahansa, muista, että on olemassa kaksi tapaa tehdä se – "git reset" ja "git revert". Kummallakin on eri tarkoitus, joten valitse projektillesi sopiva. Voit myös nimetä Git-haaran uudelleen selkeyden vuoksi.

Oletko koskaan joutunut poistamaan sitoumusta Gitissä? Millainen oli kokemuksesi, ja onko sinulla vinkkejä jaettavaksi? Jätä kommentti alle ja jatka keskustelua.


Kuinka korjata CapCut Reverse ei toimi

Kuinka korjata CapCut Reverse ei toimi

On monia syitä, miksi saatat rakastaa kuvaamista ja editointia. Voit kuvata paikkoja, joissa olet käynyt, ihmisiä, joita rakastat, ja vangita haluamasi hetket

ISpermin avulla voit tarkistaa siemennestesi iPadilla

ISpermin avulla voit tarkistaa siemennestesi iPadilla

Sinulla on ollut vaikea päivä töissä. Asetat iPadin sohvapöydälle. Katsot Netflixiä, suljet verhon, analysoit siittiöiden määrää, tarkistat Twitterin

Parrots Disco Drone vie paperilentokoneita seuraavalle tasolle

Parrots Disco Drone vie paperilentokoneita seuraavalle tasolle

Ajattele dronea ja ajattelet sumisevaa nelikopteria, joka leijuu puiston yläpuolella. Se tai sota. Mutta neljä moottoria ovat niin 2015, näyttää siltä, ​​​​kuin drone

Voit auttaa joukkorahoitusta maailman ensimmäisen avaruuskissan patsaan

Voit auttaa joukkorahoitusta maailman ensimmäisen avaruuskissan patsaan

Viikon kickstarter: Félicetten, ensimmäisen avaruuden kissan Laikan, ensimmäisen avaruuden koiran, patsaalla Moskovassa on patsas. Kinkku, astrosimpanssi

Kuinka tarkistaa, kuka omistaa tiedoston Linuxissa

Kuinka tarkistaa, kuka omistaa tiedoston Linuxissa

Jos haluat tarkistaa, kuka tiedoston omistaa, Linux toimii hyvin eri tavalla kuin muut järjestelmät. Ei ole mahdollisuutta napsauttaa tiedostoa hiiren kakkospainikkeella ja siirtyä Ominaisuudet-kohtaan

Kuinka diagnosoida ja korjata Xbox-ohjain, joka ei lataudu

Kuinka diagnosoida ja korjata Xbox-ohjain, joka ei lataudu

Pelaajat pitävät Xbox-konsoleista niiden taaksepäin yhteensopivuuden vuoksi, mikä tarkoittaa, että pelaajat voivat käyttää vanhempia lisävarusteita uudemmissa konsoleissa. Xboxin julkaisun myötä

Oman reitittimen käyttäminen Verizon Fiosin kanssa

Oman reitittimen käyttäminen Verizon Fiosin kanssa

Jos käytät Verizonia internet-palveluntarjoajana ja sinulla on oma reititin, ajatus vuokratun Verizon-reitittimen luopumisesta on varmasti käynyt mielessäsi. Käyttämällä

Etkö voi jakaa viestiä Instagram Storyssa – miksi ei?

Etkö voi jakaa viestiä Instagram Storyssa – miksi ei?

Instagramissa on lukuisia ominaisuuksia, joiden avulla voimme olla yhteydessä muihin alustalla oleviin tileihin. Ne eivät kuitenkaan välttämättä aina toimi niin kuin niiden oletetaan

Fire Tablet: Uusimmat sukupolvet

Fire Tablet: Uusimmat sukupolvet

Amazon Fire Tabletin uusimman sukupolven mukana tulee hienoja ominaisuuksia, jotka pitävät koko perheen viihdykkeenä. Uusia malleja julkaistaan

Kuinka lisätä alaviitteitä Google-dokumenttiin

Kuinka lisätä alaviitteitä Google-dokumenttiin

Päivitetty 23. marraskuuta 2022, Steve Larner. Google-dokumenttien alaviitteet ovat loistava tapa lisätä kommentteja, lainata viitteitä tai jopa tarjota linkki lähteisiin