Liigu sisu juurde

Git

Rudel kasutab PHP-põhiseid Git toiminguid Pitmaster kaudu. Hosti git binaarfaili pole vaja. Kaugühendused luuakse HTTP(S) või SSH kaudu.

Igal liivakastil on üks haru nimi, rudel/{sandbox-id}, mida kasutavad kõik allpool kirjeldatud Git töövood.

Kaughoidla kloonimine uude liivakasti

Shell
wp rudel create --name=feature-x --git=https://example.test/my-theme.git

Rudel loob liivakasti, kloonib kaughoidla liivakasti kataloogis asukohta themes/my-theme (kataloogi nimi on hoidla nimi), loob vaikeharust haru rudel/{id} ja lülitub sellele. Käsuga --type=plugin suunatakse töökoopia hoopis asukohta plugins/my-theme. Kaughoidla, kataloog ja baas haru salvestatakse liivakasti hilisemate üleslaadimiste jaoks. Kui kloonimine nurjub, jäetakse liivakast alles ja käsk kuvab hoiatuse.

Töökoopia on mõeldud kasutamiseks wp rudel push jaoks. Praeguses versioonis liivakast seda ei serveeri (probleem nr 11):

  • Liivakast serveerib käsuga --theme valitud teemat või hosti aktiivset teemat, mis kopeeritakse hostist liivakasti loomisel. --theme peab viitama hosti installitud teemale, seega serveeritakse töökoopiat ainult siis, kui hoidla nimi vastab selle tunnusele ja kloon kirjutab kopeeritud teemakataloogi.
  • Pistikprogrammid laaditakse alati hosti pistikprogrammide kataloogist, seega --type=plugin töökoopia ei käivitu.

Seotud töökataloogid

Kui kloonite liivakasti, mille teemakataloog on Git hoidla, loob Rudel failide kopeerimise asemel uue liivakasti jaoks seotud töökataloogi:

Shell
wp rudel create --name=feature-y --clone-from=feature-x-3be7

Töökataloog asub harus rudel/{new-id}. Rudel salvestab selle uue liivakasti metaandmetesse selgesõnalise töökataloogi nimega, mis põhineb liivakasti ID-l, sisutüübil ja teema tunnusel, et kaks sama teema tunnusega liivakasti ei satuks konflikti. Liivakasti hävitamisel eemaldatakse töökataloog ja kustutatakse selle haru.

wp rudel cleanup --merged arvestab ainult neid seotud töökatalooge. Vt Puhastamine.

Muudatuste üleslaadimine

Shell
wp rudel push feature-x-3be7 --message="Update checkout template"

push salvestab kõik töökoopia muudatused sisse ja laadib haru rudel/{id} üles asukohta origin. Muudatuste puudumisel tagastab see väärtuse No changes to push..

  • --git=<remote> määrab kaughoidla, kui seda pole salvestatud; pärast esimest edukat üleslaadimist jäetakse see meelde.
  • --dir=<dir> määrab liivakasti kataloogi suhtes asuva kataloogi, näiteks themes/my-theme. Vaikimisi kasutatakse käsuga --git salvestatud kataloogi või muul juhul kogu liivakasti kataloogi.
  • --message vaikeväärtus on Update from Rudel sandbox.

Käsust PHP käivitades teeb Rudel::push( $id, $remote_url, $message, $subdir ) sama ja käivitab rudel_*_environment_push hookid.

Sisseseadmise identiteet

Kui töökoopias pole Git konfiguratsioonis user.name ega user.email, kirjutab Rudel sinna väärtused Rudel ja rudel@localhost. Teiste väärtuste kasutamiseks määrake failis wp-config.php RUDEL_GIT_AUTHOR_NAME ja RUDEL_GIT_AUTHOR_EMAIL.