Kunċetti Avvanzati f'Git: Nesploraw Karatteristiċi u Tekniki B'saħħithom

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.