Hogyan lehet váltani a helyi Git-adattár kérdései között

A nyílt forráskódú utamon egy egyszerű (mégis trükkös) helyzetbe kerültem, amely felboríthat, ha rosszul csinálod. És ezt megvitatjuk ebben a cikkben.

A nyílt forráskódú közösségben való részvétel azt jelenti, hogy hozzájárul ingyenes vagy nyílt forráskódú szoftverek fejlesztéséhez. Sok olyan szervezet van, amely mindig szívesen fogadja a közreműködőket kódbázisukban.

A nyílt forráskód használatának megkezdéséhez alapvető ismeretekkel kell rendelkeznie a verziókezelő eszközökről, például a Gitről. A közreműködők a Git segítségével nyomon követik a projektfájlok változását, és ez segít az embereknek a munkájuk összehangolásában is.

Előfeltételek

  1. Telepítse a Git programot
  2. Alapvető ismeretekkel rendelkezik a Git iránt

Miért adják ki?

A lerakatban szereplő kiadások nyomon követhetők a projekten végzett feladatok, ötletek, hibák vagy fejlesztések nyomon követésén. Alapvetően leírják, hogy mi a feladat.

Egy probléma megoldásához a projektadminisztrátoroknak hozzá kell rendelniük az adott problémát. Így a csapat többi tagja megtudhatja, hogy valaki dolgozik a kérdésen.

Egy kérdés kidolgozása

A probléma kezeléséhez klónot vagy másolatot kell készítenie a céltárból a helyi gép Git klón parancsával.

git clone 

Hozzon létre egy upstream-t, amely lehetővé teszi a legújabb upstream (azaz az eredeti lerakat) változásainak nyomon követését. Így a Git folyamatosan tájékoztatja Önt a változásokról, így frissítheti a klónozott adattárat.

git remote add upstream  

Az elérhető távvezérlő és az elvégezhető feladatok listájának előnézete (beolvasás és nyomás) típus:

git remote -v

Ahhoz, hogy naprakész maradhasson a legfrissebb változásokkal, mindig meg kell próbálnia az upstream beolvasását. Így minden elkötelezettséget megkap minden csapattagtól, aki különféle funkciókkal is dolgozott.

git fetch /

Továbblépve össze kell egyesítenie a többi közreműködő vállalásait a helyi adattárban.

git merge / 

A Git egyesítés célja, hogy a főág helyi példánya pontosan megegyezzen a főág felsőbb szintjének másolatával.

Ezután hozzon létre egy fiókot a hozzárendelt kérdéshez. Miért kell fiókot létrehozni? És mire használják az ágat? Vizsgáljuk meg tovább.

Git ág

Az ág egy pillanatképet ad a végrehajtott változtatásokról. Elkötelezettség végrehajtásakor Git eltárolja az elkötelezettségből származó információkat. Ez egy mutatót biztosít, amely később felhasználható a végrehajtott változtatások hivatkozására vagy nyomon követésére. Ezért hasznos egy fiók létrehozása, amikor új feladaton, hibajavításon vagy bármely más szolgáltatáson dolgozik.

Amikor nekilátunk, a Git biztosít egy mesterágat. A főág munka kódot tartalmaz. Ahhoz, hogy elkerülje a változtatások és a gyártási kód keverését, létre kell hoznia egy új fiókot.

Fiók létrehozásához be kell írnia a következő Git parancsot:

git checkout -b 

Ez a parancs új ágat hoz létre az aktuális elágazás alapján, bár megadhatja azt az ágat is, ahol az új elágazást létre kívánja hozni.

git checkout -b   

Az összes rendelkezésre álló fiók felsorolásához írja be a következőt:

git branch

Amikor a feladat, amelyen dolgozik, végezze el a módosításokat a helyi adattárban ellenőrzés céljából. Ezt követően hozzon létre egy lekérési kérelmet, hogy értesítse a projektadminisztrátorokat a hozzárendelt feladat aktuális állapotáról.

git push -u origin  

Most hogyan állhatok át a következő kérdésre?  

Hozzon létre egy másik ágat leíró névvel, így:

git checkout -b   

Ha megvan a fiókunk, használunk egy segédprogramot a hubról. A parancs segít lekérni a kódot az upstream-ből, és futtatja az egyesítést is (ha telepíti a hub segédprogramot).

hub sync

A parancs lekéri az upstream változásokat és összevonja azokat az újonnan létrehozott ággal. Mindig ellenőrizheti a változásokat a fióktelepen és az upstream oldalon a Git status paranccsal:

git status

Most folytathatja és dolgozhat az új ágon. Ne felejtse el végrehajtani a változtatásokat, és nyomja meg a távoli fiókot, ahogy fentebb tettük.

Lehetséges hibákat.

Hibát követhet el, amikor több problémát dolgoz fel - ez ahhoz vezethet, hogy a fiókból törli a kötelezettségvállalásokat.

Az alábbiakban bemutatunk egy példát arra, hogy mit lehet tenni a nem kívánt elkötelezettségek törléséről az ágról:

1. lépés: Váltson át arra az ágra, ahol el szeretné távolítani a nem kívánt elkövetéseket:

git checkout  

2. lépés: Futtassa az ágnak tett elkötelezettségek nyilvántartását. Ez segít eldönteni, mely kötelezettségeket szeretné megtartani az egyedi Commit Hash (SHA1 40 karakteres ellenőrző összeg a tartalom tartalma alapján) rendszerint ebben a formában: da034f6ff3e856b5ba155bc01def0847a1c4ed7e .

git log

Érdemes megjegyezni azt is, hogy ha meg akarja tartani a legfrissebb elkötelezettséget (mondjuk az utolsót), akkor ezt egyszerűen megteheti:

git log -n 1

3. lépés: Mivel el akarja vetni az összes többi elkötelezettséget az ágon, egyszerűen alkalmazza azt az egyetlen elkötelezettséget az ágra. A dobás és az alkalmazás két lépés:

Először dobja el az ágon az összes elkövetést:

git reset --hard / 

Egyszerűbben fogalmazva: a fenti parancs megmondja Gitnek, hogy dobja el az összes előkészített és nem módosított változtatást. Mindent elfelejt a jelenlegi helyi fiókban, és pontosan ugyanolyan lesz, mint a upstream/master.

Másodszor alkalmazza ezt az egyetlen elkötelezettséget az ágra a következő paranccsal:

git cherry-pick Hash //where Hash is a commit hash from other branch

Ez a parancs alapértelmezés szerint egyetlen hivatkozást (azaz véglegesítést) választ az ágról, és egy másikra alkalmazza.

4. lépés: Futtatásakor git statusjelenteni fogja, hogy az ága /eltér. Mivel ez várható, arra kell kényszerítenünk a távirányítót, hogy csak azokat a változásokat tartalmazzuk, amelyeket cseresznyén válogattunk.

Ehhez egy parancsot kell használnunk a távoli előzmények törléséhez és egy másik előzményekkel való helyettesítéséhez:

git push --force origin

Ez a parancs elveti a távoli távoli extra elkötelezettségeket, ahogyan a helyi példányon elvetettük. Ez veszélyes, mert egyike azon kevés git parancsoknak, amelyek elvetnek valamit - ezért legyen óvatos a használatakor.

Most, amikor futtatja, git statusarról számol be, hogy az ág naprakész /. Ez azt mutatja, hogy a műveletet sikeresen végrehajtották.

Köszönöm, hogy elolvasta ?! Nagy kiabálás Mark Waite-nak?  

Kövess a Twitteren.