Néhány éve használom a Git-et, és még mindig azon kapom magam, hogy guglizom, hogyan kell elvégezni néhány alapvető feladatot. Tehát ez a cikk az a kísérletem, hogy megtanuljam, hogyan kell ezeket a dolgokat megtenni, ha róluk írok. És még ha el is felejtem, legalább lesz egy referenciám, ahol könnyen megtalálhatom ezeket a parancsokat - és te is meg fogod találni.
Mielőtt továbbtanulnánk ezeket a dolgokat, valami, amit egy kollégám egyszer mondott, megragadt bennem. Azt mondta nekem, hogy Gittel minden lehetséges, és Gitben semmi nem veszik el.
Nem tudom, hogy állításának korábbi része teljesen igaz-e, de ezt minden alkalommal szem előtt tartom, amikor megpróbálok valamit csinálni Gittel. Hiszem, hogy találok egy parancsot, amely segít megtennem, amit tennem kell. Csak gugliznom kell a megfelelő szavakkal. Ha új vagy a Git számára, szeretném, ha te is elhinnéd ezt.
Ebben a cikkben megtudhatjuk, hogyan kell a következőket tenni:
- Távoli adattárak hozzáadása
- Távoli adattárak módosítása
- Ág törlése
- Fájl egyesítése egyik ágból a másikba
- Visszavonhat egy elkötelezettséget helyben és távolról
Bár ez a cikk azoknak szól, akiknek alapvető ismereteik vannak a Gitről, mindent megteszek annak érdekében, hogy a lehető legnagyobb mértékben elmagyarázzam a kifejezéseket.
1. Adjon hozzá távoli adattárakat
A távoli adattárak a projektek olyan verziói, amelyeket az interneten vagy másutt tárolnak. Távoli adattár hozzáadásával megtudhatja, hogy a Git hol tárolja a kódot.
Ezt a lerakat URL-jével tehetjük meg. Ez lehet az adattár URL-je, egy másik felhasználó villája vagy akár egy teljesen más szerver.
Amikor klónoz egy adattárat, a Git hallgatólagosan hozzáadja ezt az adattárat origin
távvezérlőnek az Ön számára. Új Git-adattár hozzáadásához használja ezt a parancsot:
git remote add
ahol shortname
egyedi távoli név van, és url
a hozzáadni kívánt lerakat URL-je.
Például, ha egy rövid nevű adattárat akarok hozzáadni upstream
, akkor ezt megtehetem:
git remote add upstream //github.com/sarahchima/personal-website.git
Ne feledje, hogy shortname
bármi lehet, csak egyedinek kell lennie, ez különbözik attól, amit a távoli adattárak már tartalmaznak. Ennek olyannak is kell lennie, amelyre józan eszére könnyen emlékezhet.
A hozzáadott távoli URL-ek listájának megtekintéséhez futtassa a következő parancsot:
git remote -v
Megjelenik a távoli nevek és a hozzáadott URL-ek listája.
De mi van, ha meg akarja változtatni ezeket a távoli URL-eket? Menjünk a következő Git parancsra.
2. Távoli adattárak módosítása
Számos oka lehet annak, hogy módosítson egy távoli URL-t. Például nemrég kellett https
áttérnem az SSH
URL-ek használatáról az URL- ekre egy olyan projektnél, amelyen dolgoztam.
Ehhez használja a következő parancsot:
git remote set-url
A parancs működéséhez a távoli névnek létező távoli névnek kell lennie. Ez azt jelenti, hogy nem fog működni, ha korábban nem adta hozzá ezt a távoli nevet.
A fenti példa alapján, ha meg akarom változtatni a távoli URL-t, ezt megteszem:
git remote set-url upstream [email protected]:sarahchima/personal-website.git
Ne felejtse el futtatni, git remote -v
hogy ellenőrizze, hogy a változtatása sikerült-e.
Elég a távoli adattárakról. Térjünk át valami másra.
3. Töröljön egy ágat helyileg és távolról egyaránt
A fióktelep a tárháznak a fő munkaprojekttől eltérő verziója. Érdemes elolvasnia a Git-ágakról és annak hozzáadásáról, ha nem ismeri ezt a folyamatot.
Helyi fiók törlése
Fiók helyi törléséhez győződjön meg arról, hogy nem a törlendő ágon tartózkodik. Tehát ki kell fizetnie egy másik fiókba, és a következő parancsot kell használnia:
git branch -d
Tehát, ha törölni akarok egy elnevezett fiókot fix/homepage-changes
, akkor a következőket fogom tenni:
git branch -d fix/homepage-changes
A git branch
terminálon futtathatja annak megerősítését, hogy az ág sikeresen eltávolításra került.
Néha előfordulhat, hogy törölnie kell egy ágat, amelyet már egy távoli adattárba helyezett. Hogyan tudod ezt megtenni?
Távoli ág törlése
Az ág távoli törléséhez használja a következő parancsot:
git push --delete
hol remote-name
van annak a távoli adattárnak a neve, amelyről törölni kívánja az ágat.
Ha törölni akarom a fiókot fix/homepage-changes
innen origin
, ezt megteszem:
git push origin --delete fix/homepage-changes
Az ágat most távolról töröljük.
4. Fájl egyesítése egyik ágból a másikba
Előfordulhat, hogy egy adott fájl tartalmát egyesíti az egyik ágban a másikba. Például, ha szeretné egyesíteni a tartalmat egy fájlt index.html
a master
fióktelep a projekt a development
ága. Hogy tudod ezt megcsinálni?
Először jelentkezzen be a jobb oldali ágba (a fiókot egyesíteni kívánt fájlba), ha még nem tette meg. Esetünkben ez az development
ág.
git checkout development
Ezután egyesítse a fájlt a checkout --patch paranccsal.
git checkout --patch master index.html
Ha teljesen felül akarja írni index.html
az development
ágon lévő fájlt az ágon master
lévővel, akkor elhagyja a --patch
zászlót.
git checkout master index.html
Hagyja el a --patch
zászlót, ha a index.html
fájl nem létezik az development
ágon.
5. Visszavonja az elkötelezettséget
Van, amikor helytelenül hajtotta végre a változtatásokat, és vissza kívánja vonni ezt az elkötelezettséget. Néha előfordulhat, hogy egy távoli fiókra is átállította a változtatásokat. Hogyan lehet visszavonni vagy törölni ezt az elkötelezettséget? Kezdjük egy helyi elkötelezettség visszavonásával.
Hogyan lehet visszavonni a helyi elkötelezettséget
A kötelezettségvállalás helybeli visszavonásának egyik módja a git reset
. Például, ha vissza akarja vonni az utoljára végrehajtott elkötelezettséget, akkor futtathatja ezt a parancsot:
git reset --soft HEAD~1
A --soft
zászló megőrzi azokat a változtatásokat, amelyeket az Ön által elvégzett fájlokban hajtott végre, csak a kötelezettség visszavonásra kerül. Ha azonban nem akarja megtartani a fájlokban végrehajtott módosításokat, akkor a --hard
zászlót használhatja így:
git reset --hard HEAD~1
Ne feledje, hogy --hard
csak akkor használja a zászlót, ha biztos benne, hogy nincs szüksége a változtatásokra.
Ezenkívül vegye figyelembe, HEAD~1
hogy ez az utolsó elkötelezettségre mutat. Ha azt megelőzően szeretné visszavonni a kötelezettségvállalást, akkor git reflog
ennek segítségével naplót kaphat az összes korábbi végrehajtásról. Ezután használja a git reset
parancsot a végrehajtási hash-szal (az előzmények minden sorának elején kapott számmal). Például, ha az elkövetési hashom van 9157b6910
, akkor ezt megcsinálom
git reset --soft 9157b6910
Hogyan lehet visszavonni a távoli elkötelezettséget
Vannak esetek, amikor egy távoli adattárba helyezett elkötelezettséget akar visszavonni. Használhatja git revert
a helyben történő visszavonásra, és ezt a változást a távoli ágra tolhatja.
Először a git reflog segítségével szerezzük be a végrehajtási hash-t.
git reflog
Ezután állítsa vissza. Feltéve, hogy az én elkövetési kivonatom 9157b6910, a következőket fogom tenni:
git revert 9157b6910
Végül tolja ezt a változást a távoli ágra.
Összegzés
Ebben a cikkben megvitattuk a következő parancsokat a Git-ben:
- Távoli adattárak hozzáadása
- Távoli adattárak módosítása
- Ág törlése
- Fájl egyesítése egyik ágból a másikba
- Visszavonhat egy elkötelezettséget helyben és távolról
Talán egyszer, írok még néhány dolgot, amit tehetsz Gittel.
Remélem tetszett a cikk. Köszönöm, hogy elolvasta.
Értesítést szeretne kapni, amikor új cikket teszek közzé? Kattints ide.