Tudásbázis

Kétirányú szinkronizálás a GitHub tárolójával

A webhelyén végzett módosítások commitokká alakulnak át a saját tárhelyén, és amit odatolt, az megjelenik a webhelyén. Ez ingyenes, és íme, mi történik, amikor mindkét oldal egyszerre változik.

Csatlakoztassa saját GitHub fiókját egy webhelyhez, és mi mindkét irányban szinkronban tartjuk a kettőt. Ez ingyenes, kikapcsolt állapotban marad, amíg be nem kapcsolja, és kizárólag az Ön tulajdonában lévő fiókban lévő tárhelyre commitolunk – soha nem a miénkbe.

Mi kerül szinkronizálásra?

Bármi, amit megváltoztat a webhely fájljaiban, commitként jelenik meg a tárhelyén, függetlenül attól, hogy azt hogyan módosította: a fájlkezelőn, SFTP-n, a WordPress témaszerkesztőjén vagy egy SSH-munkameneten keresztül. Nem kell szólnia nekünk – összehasonlítjuk a webhelyét az utolsó commitjával, és feltöltjük a különbséget.

A másik irányban a csatlakoztatott ágra (branchre) érkező push betöltődik a webhelyre.

Amit soha nem commitolunk

A wp-config.php fájl szándékosan és véglegesen ki van zárva. Ez tartalmazza az adatbázis-jelszavát és a hitelesítési kulcsait, amelyek nem tartoznak bele egy tárhelybe – még egy privátba sem, mert a git mindörökre megőrzi az előzményeket.

Szintén ki vannak zárva: a .env fájlok, a kulcsok és tanúsítványok, a feltöltési mappa, a gyorsítótárak és a node_modules. A tárhely a webhely forrása, nem pedig biztonsági mentés. A média a biztonsági mentések közé tartozik, ahol már eddig is meg volt őrizve, és ha ide tenné, az minden push műveletet lassúvá és minden változtatást áttekinthetetlenné tenne.

Mi történik, ha mindkét oldalon történt változás?

Ez az a kérdés, amelyet érdemes elolvasni. Tegyük fel, hogy szerkeszt egy fájlt a fájlkezelőben, miközben egy kollégája változtatást küld (pushol) ugyanehöz a tárhelyhez.

Megállunk. Nem egyesítünk, és senkiét sem írjuk felül. A webhely Telepítés (Deploy) lapján a "A tárhelyén olyan változások vannak, amelyeket még nem láttunk" üzenet jelenik meg, megnevezésre kerül a megtekintendő commit, és a rendszer várakozik. Amíg ez a várakozás tart, semmi sem vész el egyik oldalon sem – az Ön szerkesztése továbbra is a webhelyen van, a kollégája commitja pedig továbbra is a tárhelyen van.

Ekkor Ön választ:

  • Ezen webhely fájljainak megtartása – az Ön verzióját helyezzük az övék tetejére. Az ő commitjaik megmaradnak az előzményekben; semmi sem törlődik.
  • A tárhely használata, a webhelyen végzett változtatások elvetése – a tárhely verziója érvényesül a webhelyen, az itt végzett módosítások pedig elvetésre kerülnek. Ez a művelet adatok elvesztésével jár, ezért szándékos kattintást igényel, és soha nem történik meg az Ön jóváhagyása nélkül.

Szándékosan nincs „automatikus egyesítés” (merge) lehetőség. Az általunk végrehajtott egyesítés olyan fájlt hozna létre, amelyet egyikük sem írt, egy éles webhelyen anélkül, hogy előbb bármelyikük is látta volna.

Miért állhat le a szinkronizálás?

  • Nem csatlakoztatta a saját GitHub fiókját. A kapcsoló kikapcsolva marad, amíg ezt meg nem teszi.
  • Várakozik Önre. Lásd fentebb – a felfüggesztés nem szűnik meg magától.
  • Fiókja nem megfelelő státuszú. A számlázás rendezése után a szinkronizálás magától szünetel és folytatódik. Semmi sem vész el.

A Telepítés (Deploy) lap megjeleníti az utolsó néhány szinkronizálást, beleértve azokat is, amelyek során semmi sem változott. Ha ez a lista üres és a szinkronizálás be van kapcsolva, akkor a csatlakoztatott fiók nagy valószínűséggel nem tud írni a tárhelyre – ellenőrizze a hozzáférését, és csatlakoztassa újra.

A szinkronizálandó elemek kiválasztása

Alapértelmezés szerint a teljes webhely szinkronizálódik. Egy WordPress webhely esetében ez általában nem az, amit szeretne: ez azt jelenti, hogy a WordPress mag (core) minden egyes fájlja szinkronizálódik, amelyet nem Ön írt és nem is fog szerkeszteni. Állítsa be a "Csak ezen mappa szinkronizálása" lehetőséget a témájára – például wp-content/themes/my-theme –, és a többi változatlan marad.

Még mindig elakadtál?

Minden csomag tartalmaz ügyfélszolgálatot, a válaszokat pedig a saját nyelvén kapja meg.

Kapcsolat a támogatással Összes cikk
Kétirányú szinkronizálás a GitHub tárolójával