Rebasing
રિબેઝિંગ તમને કમિટ હિસ્ટ્રીમાં ફેરફાર કરીને એક શાખામાંથી બીજી શાખામાં ફેરફારોને સામેલ કરવાની મંજૂરી આપે છે. તે સ્ત્રોત શાખામાંથી કમિટ્સને લક્ષ્ય શાખા પર ફરીથી ચલાવે છે. આના પરિણામે ક્લીનર અને વધુ રેખીય કમિટ ઇતિહાસ થાય છે.
ઉદાહરણ: ધારો કે તમારી પાસે ફીચર બ્રાન્ચ કહેવાય છે feature-branch અને તમે બ્રાન્ચના નવીનતમ ફેરફારોને સામેલ કરવા માંગો છો main. તમે નીચેના આદેશનો ઉપયોગ કરી શકો છો:
git checkout feature-branch
git rebase main
આ શાખામાંથી કમિટ્સને main પર લાગુ કરશે feature-branch. રિબેઝ પ્રક્રિયા દરમિયાન કોઈપણ તકરારને ઉકેલવાની જરૂર પડશે.
Stashing
સ્ટેશિંગ તમને તમારા વર્તમાન ફેરફારોને સાચવવાની મંજૂરી આપે છે, જે પ્રતિબદ્ધ થવા માટે તૈયાર નથી, અને અસ્થાયી રૂપે સ્વચ્છ કાર્યકારી નિર્દેશિકા પર પાછા ફરો. જ્યારે તમે હાલમાં કામ કરી રહ્યાં છો તે ફેરફારોને કમિટ કર્યા વિના તમારે કોઈ અલગ શાખા પર સ્વિચ કરવાની અથવા કોઈ અલગ સુવિધા પર કામ કરવાની જરૂર હોય ત્યારે આ ઉપયોગી છે.
ઉદાહરણ: ધારો કે તમે ફીચર બ્રાન્ચ પર કામ કરી રહ્યા છો અને તમે કેટલાક ફેરફારો કર્યા છે, પરંતુ તમારે બીજી બ્રાન્ચ પર સ્વિચ કરવાની જરૂર છે. તમે તમારા ફેરફારોને છુપાવવા માટે નીચેના આદેશોનો ઉપયોગ કરી શકો છો:
git stash
નવી શાખા પર સ્વિચ કર્યા પછી, તમે પછી આનો ઉપયોગ કરીને છુપાયેલા ફેરફારો લાગુ કરી શકો છો:
git stash apply
Git Hooks
Git Hooks એ સ્ક્રિપ્ટો છે જે ચોક્કસ ગિટ ઇવેન્ટ્સ દ્વારા ટ્રિગર થાય છે, જેમ કે પ્રી-કમિટ, પોસ્ટ-કમિટ, પ્રી-પુશ વગેરે. તેઓ તમને અમુક ક્રિયાઓને સ્વચાલિત કરવા અથવા તમારા વર્કફ્લોમાં ચોક્કસ નિયમો લાગુ કરવાની મંજૂરી આપે છે.
ઉદાહરણ: ધારો કે તમે પ્રતિબદ્ધતા પહેલા તમારા કોડ પર લિંટર ચલાવવા માંગો છો. તમે પ્રી-કમિટ હૂક સ્ક્રિપ્ટ બનાવી શકો છો જે લિંટરને ટ્રિગર કરે છે અને જો કોઈ લિંટિંગ ભૂલો હોય તો કમિટને અટકાવે છે.
Git Submodule
Git Submodule તમને તમારા મુખ્ય ભંડારમાં સબડિરેક્ટરી તરીકે અન્ય ગિટ રિપોઝીટરીનો સમાવેશ કરવાની મંજૂરી આપો. જ્યારે તમારી પાસે બાહ્ય પુસ્તકાલયો અથવા ઘટકો પર આધારિત પ્રોજેક્ટ હોય ત્યારે આ ઉપયોગી છે.
ઉદાહરણ: તમારી પાસે એક પ્રોજેક્ટ છે જેને ચોક્કસ લાઇબ્રેરીની જરૂર છે. તમારી રીપોઝીટરીમાં લાઇબ્રેરીના કોડને ડુપ્લિકેટ કરવાને બદલે, તમે તેને સબમોડ્યુલ તરીકે ઉમેરી શકો છો. આ રીતે, તમે લાઇબ્રેરી કોડને અલગ રાખી શકો છો અને જરૂર પડ્યે તેને સરળતાથી અપડેટ કરી શકો છો.
Git Revert and Git Reset
Git Revert નવી કમિટ બનાવીને પાછલી કમિટને પૂર્વવત્ કરે છે જે મૂળ કમિટમાં કરેલા ફેરફારોને પૂર્વવત્ કરે છે. Git Reset, બીજી બાજુ, તમને બ્રાન્ચ પોઈન્ટરને અલગ કમિટ પર ખસેડવાની મંજૂરી આપે છે, કમિટ ઇતિહાસમાંથી કમિટ્સને અસરકારક રીતે કાઢી નાખે છે.
ઉદાહરણ: જો તમે છેલ્લી કમિટને પૂર્વવત્ કરવા માંગતા હો, તો તમે git revert HEAD નવી કમિટ બનાવવા માટે ઉપયોગ કરી શકો છો જે છેલ્લા કમિટમાં કરેલા ફેરફારોને પૂર્વવત્ કરે છે. જો તમે છેલ્લી કમિટને સંપૂર્ણપણે કાઢી નાખવા માંગતા હો, તો તમે git reset HEAD~1 શાખા નિર્દેશકને એક કમિટ દ્વારા પાછા ખસેડવા માટે ઉપયોગ કરી શકો છો.
Git માં આ અદ્યતન ખ્યાલો તમારી રીપોઝીટરીને અસરકારક રીતે સંચાલિત કરવા માટે શક્તિશાળી ક્ષમતાઓ પ્રદાન કરે છે. તેનો ઉપયોગ કેવી રીતે કરવો અને ક્યારે લાગુ કરવો તે સમજવું તમારા ગિટ વર્કફ્લો અને પ્રોજેક્ટ મેનેજમેન્ટને મોટા પ્રમાણમાં વધારશે.

