Rebasing
Rebasing jippermettilek li tinkorpora bidliet minn fergħa għal fergħa oħra billi timmodifika l-istorja tal-kommit. Jirrepeti l-kommetti mill-fergħa tas-sors fuq il-fergħa fil-mira. Dan jirriżulta fi storja ta' impenn aktar nadifa u aktar lineari.
Eżempju: Ejja ngħidu li għandek fergħa tal-karatteristika msejħa feature-branch
u trid tinkorpora l-aħħar bidliet mill- main
fergħa. Tista' tuża l-kmand li ġej:
git checkout feature-branch
git rebase main
Dan se japplika l-commits mill- main
fergħa fuq il- feature-branch
. Kwalunkwe kunflitt jeħtieġ li jiġi solvut matul il-proċess ta 'rebase.
Stashing
Stashing jippermettilek li tissejvja l-bidliet attwali tiegħek, li mhumiex lesti biex jiġu impenjati, u temporanjament terġa 'lura lura għal direttorju tax-xogħol nadif. Dan huwa utli meta jkollok bżonn taqleb għal fergħa differenti jew taħdem fuq karatteristika differenti mingħajr ma tikkommetti l-bidliet li qed taħdem fuqhom bħalissa.
Eżempju: Ejja ngħidu li qed taħdem fuq fergħa tal-karatteristiċi u għamilt xi bidliet, iżda trid taqleb għal fergħa oħra. Tista' tuża l-kmandi li ġejjin biex taħżen il-bidliet tiegħek:
git stash
wara li taqleb għall-fergħa l-ġdida, tista' mbagħad tapplika l-bidliet stashed billi tuża:
git stash apply
Git Hooks
Git Hooks
huma skripts li huma attivati minn avvenimenti Git speċifiċi, bħal pre-commit, post-commit, pre-push, eċċ. Dawn jippermettulek awtomatizza ċerti azzjonijiet jew tinforza regoli speċifiċi fil-fluss tax-xogħol tiegħek.
Eżempju: Ejja ngħidu li trid tmexxi linter fuq il-kodiċi tiegħek qabel ma tikkommetti. Tista 'toħloq skript tal-ganċ ta' qabel l-impenn li jqanqal il-linter u jipprevjeni l-kommit jekk ikun hemm xi żbalji ta 'linting.
Git Submodule
Git Submodule
jippermettulek tinkludi repożitorju Git ieħor bħala subdirettorju fi ħdan ir-repożitorju prinċipali tiegħek. Dan huwa utli meta jkollok proġett li jiddependi fuq libreriji jew komponenti esterni.
Eżempju: Għandek proġett li jeħtieġ librerija speċifika. Minflok ma tidduplika l-kodiċi tal-librerija fir-repożitorju tiegħek, tista 'żżidha bħala submodulu. B'dan il-mod, tista 'żżomm il-kodiċi tal-librerija separat u taġġornah faċilment meta jkun meħtieġ.
Git Revert and Git Reset
Git Revert
ineħħi impenn preċedenti billi joħloq impenn ġdid li jneħħi l-bidliet li saru fil-commit oriġinali. Git Reset
, min-naħa l-oħra, jippermettilek li tmexxi l-pointer tal-fergħa għal impenn differenti, u b'mod effettiv jarmi l-kommessi mill-istorja tal-kommit.
Eżempju: Jekk trid tneħħa l-aħħar impenn, tista' tuża git revert HEAD
biex toħloq impenn ġdid li jneħħi l-bidliet li saru fl-aħħar impenn. Jekk trid tarmi l-aħħar impenn kompletament, tista 'tuża git reset HEAD~1
biex iċċaqlaq il-pointer tal-fergħa lura b'impenn wieħed.
Dawn il-kunċetti avvanzati f'Git jipprovdu kapaċitajiet qawwija biex jimmaniġġjaw ir-repożitorju tiegħek b'mod effettiv. Il-fehim ta' kif tużahom u meta tapplikahom se jtejjeb ħafna l-fluss tax-xogħol Git tiegħek u l-ġestjoni tal-proġett.