Git Commit käsk on selgitatud

git commitKäsk päästab kõik lavastatud muutused koos lühikirjelduse kasutaja, on "toime" kohaliku hoidla.

Giti kasutamise keskmes on kohustused. Võite mõelda pühendumisele kui oma projekti hetktõmmisele, kus praeguses hoidlas luuakse selle projekti uus versioon. Kaks olulist kohustuste omadust on:

  • saate hiljem tehtud muudatused meelde tuletada või projekti selle versiooni juurde tagasi viia (vt Git kassast)
  • kui mitu kohustust redigeerivad projekti erinevaid osi, ei kirjuta nad üksteist üle, isegi kui kohustuse autorid üksteisest ei teadnud. See on üks Giti kasutamise eelistest tööriista nagu Dropbox või Google Drive abil.

Valikud

Saate lisada mitmeid võimalusi git commit. Kuid see juhend käsitleb ainult kahte kõige tavalisemat võimalust. Lai valikuvõimaluste loetelu leiate Giti dokumentatsioonist.

Valik -m

Kõige tavalisem variant, mida kasutatakse, git commiton -mvalik. -mTähistab sõnum. Helistades git committuleb lisada teade. Sõnum peaks olema toimuvate muudatuste lühikirjeldus. Sõnum peaks olema käsu lõpus ja see tuleb pakkida jutumärkidesse " ".

Näide -mvaliku kasutamiseks:

git commit -m "My message"

Teie terminali väljund peaks välja nägema umbes selline:

[master 13vc6b2] My message 1 file changed, 1 insertion(+)

MÄRKUS. Kuikäsku-mei kaasatagit commit, palutakse teil sõnum lisada oma vaiketekstiredaktorisse - vaadake allpool jaotist "Üksikasjalike sidumisteadete kasutamine".

-A variant

Teine populaarne variant on -avõimalus. -aTähistab kõiki. See suvand määrab kõik muudetud failid automaatselt sidumiseks. Kui lisatakse uusi faile, -asiis see funktsioon neid uusi faile ei lavasta. Seostatakse ainult need failid, millest Giti hoidla on teadlik.

Näiteks:

Oletame, et teil on README.mdfail, mis on juba teie hoidlasse määratud. Kui teete selles failis muudatusi, saate -amuudatuste järkjärguliseks lisamiseks ja hoidlasse lisada oma käsus suvand. Kui aga lisate ka uue faili nimega index.html? -aValik ei lavale index.htmlnagu ta praegu ei ole hoidlas. Kui uued failid on lisatud, tuleks git addkäsk käivitada, et failid järk-järgult enne nende hoidlasse sidumist korraldada.

Näide -avaliku kasutamiseks:

git commit -am “My new changes”

Teie terminali väljund peaks välja nägema umbes selline:

[master 22gc8v1] My new message 1 file changed, 1 insertion(+)

Üksikasjalike pühendumissõnumite kasutamine

Kuigi see git commit -m "commit message"töötab suurepäraselt, võib olla kasulik anda üksikasjalikumat ja süstemaatilisemat teavet.

Kui pühendute ilma -mvalikut kasutamata , avab git teie vaiketekstiredaktori uue failiga, mis sisaldab kõigi kommenteeritud failide / muudatuste kommenteeritud nimekirja. Seejärel kirjutate oma üksikasjaliku pühendumissõnumi (esimest rida käsitletakse teemareana) ja kohustus täidetakse faili salvestamisel / sulgemisel.

Meeles pidama:

  • Tavapraktikana hoidke oma pühendatud sõnumiridade pikkus vähem kui 72 tähemärki
  • Mitmerealiste sidumisteadete kirjutamine on täiesti ok - ja isegi soovitatav
  • Oma pühendumissõnumis saate viidata ka teistele probleemidele või taotleda päringuid. GitHub määras kõikidele tõmbetaotlustele ja probleemidele numbriviite, nii et näiteks kui soovite viidata tõmbenõudele nr 788, tehke seda lihtsalt kas teemareal või vastavalt tekstitekstis

Parandusvõimalus

See --amendvalik võimaldab teil muuta oma viimast kohustust. Oletame, et tegite äsja kohustuse ja tegite vea oma logi logisõnumis. Viimast kohustust saate mugavalt muuta käsuga:

git commit --amend -m "an updated commit message"

Kui unustate faili pühendusse lisada:

git add FORGOTTEN-FILE-NAME git commit --amend -m "an updated commit message" # If you don't need to change the commit message, use the --no-edit option git add FORGOTTEN-FILE-NAME git commit --amend --no-edit

Enneaegseid kohustusi juhtub kogu aeg teie igapäevase arengu käigus. Lihtne on unustada faili etapistamine või pühendumissõnumi õige vormindamine. --amendLipp on mugav viis lahendada need väikesed vead. See käsk asendab vana pühendamisteate käsus määratud värskendatud sõnumiga.

Muudetud kohustused on tegelikult täiesti uued kohustused ja eelmine kohustus pole enam teie praeguses harus. Teistega töötades peaksite püüdma vältida kohustuste muutmist, kui viimane kohustus on juba hoidlasse lükatud.

Koos --amendühe kasuliku lipuga, mida saaksite kasutada, on see, --authormis võimaldab teil muuta viimase tehtud kohustuse autorit. Kujutage ette olukorda, kus te pole oma nime või e-posti aadressi õigesti seadistanud, kuid olete juba kohustuse teinud. Mis --authorlipu võite lihtsalt muuta neid ilma nullimist viimase toime.

git commit --amend --author="John Doe "

-V või —ülemõõtmeline variant

-vVõi --verbosevõimalust kasutatakse ilma -mvalik. See -vvalik võib olla kasulik, kui soovite oma redaktoris redigeerida Git-i pühendumissõnumit, kui näete pühenduse jaoks tehtud muudatusi. Käsk avab teie vaiketekstiredaktori koos kohustusliku teate malliga ja selle toimingu jaoks tehtud muudatuste koopiaga. Muudatusi või diffi ei kaasata pühendamisteatesse, kuid need pakuvad kena viisi viidata teie muudatustele, kui kirjeldate neid oma pühendumissõnumis.

Kuidas mitu toimingut ühte patta panna

See on suurepärane funktsioon, rebasemida saab interactiverežiimis kasutada . Viimase n kohustuse ühtseks tühjendamiseks käivitage järgmine käsk:

git rebase -i HEAD~n

See avab tekstiredaktori, millel on midagi sarnast järgmisega:

pick commit_1 pick commit_2 pick commit_3 ... pick commit_n # Bunch of comments

Jätke esimene pühendumine rahule ja muutke ülejäänud picks väärtuseks squash. Salvestage redaktor ja väljuge sellest.

Nii et kui soovite kolm viimast kohustust kokku lüüa, käivitate kõigepealt git rebase -i HEAD~3ja seejärel soovite oma kohustusi muuta nii, et need näeksid välja umbes sellised:

pick dd661ba Commit 1 squash 71f5fee Commit 2 squash f4b4bf1 Commit 3

Kui olete juba enne oma kohustuste purustamist kaugjuhtimispulti vajutanud, peate -flipuga uuesti kaugjuhtimispuldi juurde vajutama , vastasel juhul viskab git teile vea.

Soovitame tungivalt lugeda avatud failis olevat teavet, kuna saate teha palju asju.

Rohkem informatsiooni:

  • Giti dokumentatsioon: pühendu