Git Rebase ਅਤੇ Branch ਸਵਿਚਿੰਗ

ਰੀਬੇਸ

Rebase ਕਿਸੇ ਹੋਰ ਸ਼ਾਖਾ ਤੋਂ ਕਮਿਟ ਲਾਗੂ ਕਰਕੇ ਇੱਕ ਸ਼ਾਖਾ ਦੇ ਪ੍ਰਤੀਬੱਧ ਇਤਿਹਾਸ ਨੂੰ ਬਦਲਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ। ਤਬਦੀਲੀਆਂ ਨੂੰ ਜੋੜਨ ਲਈ ਵਰਤਣ ਦੀ ਬਜਾਏ merge, rebase ਤੁਹਾਨੂੰ insert ਅਭੇਦ ਕਮਿਟ ਬਣਾਏ ਬਿਨਾਂ ਮੌਜੂਦਾ ਸ਼ਾਖਾ ਦੇ ਪ੍ਰਤੀਬੱਧ ਇਤਿਹਾਸ ਵਿੱਚ ਨਵੇਂ ਕਮਿਟਾਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

ਉਦਾਹਰਨ ਲਈ, ਮੰਨ ਲਓ ਕਿ ਤੁਹਾਡੀਆਂ ਦੋ ਸ਼ਾਖਾਵਾਂ ਹਨ: feature-branch ਅਤੇ main. ਤੁਸੀਂ ਇਸ 'ਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਆਪਣੀ ਮੌਜੂਦਾ ਸ਼ਾਖਾ feature-branch ਤੋਂ ਨਵੀਨਤਮ ਕਮਿਟਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ । main ਤੁਸੀਂ ਇਸਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਰੀਬੇਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:

git checkout feature-branch  
git rebase main  

ਜਦੋਂ ਤੁਸੀਂ ਇਸ ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਗਿੱਟ ਇਸ ਤੋਂ ਕਮਿਟ ਲੈ ਲਵੇਗਾ main ਅਤੇ ਉਹਨਾਂ 'ਤੇ ਲਾਗੂ ਕਰੇਗਾ feature-branch । ਇਸ ਦਾ ਮਤਲਬ ਹੈ ਕਿ 'ਤੇ ਕੀਤੇ ਸਾਰੇ ਕਮਿਟਸ feature-branch ਤੋਂ ਕਮਿਟ ਹੋਣ ਤੋਂ ਬਾਅਦ ਦਿਖਾਈ ਦੇਣਗੇ main । ਨਤੀਜਾ ਇੱਕ ਸਾਫ਼ ਅਤੇ ਵਧੇਰੇ ਪੜ੍ਹਨਯੋਗ ਪ੍ਰਤੀਬੱਧ ਇਤਿਹਾਸ ਹੈ feature-branch

ਹਾਲਾਂਕਿ, ਰੀਬੇਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ, ਇਹ ਨੋਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਪ੍ਰਤੀਬੱਧ ਇਤਿਹਾਸ ਨੂੰ ਬਦਲਣਾ ਜਨਤਕ ਤੌਰ 'ਤੇ ਸਾਂਝੀਆਂ ਕੀਤੀਆਂ ਸ਼ਾਖਾਵਾਂ ਨੂੰ ਪ੍ਰਭਾਵਤ ਕਰ ਸਕਦਾ ਹੈ। ਇਸ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੀ ਮੌਜੂਦਾ ਬ੍ਰਾਂਚ ਤੋਂ ਰਿਮੋਟ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਕਮਿਟਾਂ ਨੂੰ ਧੱਕ ਦਿੱਤਾ ਹੈ, ਤਾਂ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਸਲਾਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਵਿਵਾਦਾਂ ਅਤੇ ਇੱਕ ਗੜਬੜ ਵਾਲੇ ਕਮਿਟ ਇਤਿਹਾਸ ਤੋਂ ਬਚਣ ਲਈ ਉਸ ਸ਼ਾਖਾ 'ਤੇ ਰੀਬੇਸ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰੋ।

 

Branch ਬਦਲੀ ਜਾ ਰਹੀ ਹੈ

Git ਵਿੱਚ ਸ਼ਾਖਾ ਬਦਲਣ ਦਾ ਮਤਲਬ ਹੈ ਇੱਕ ਸ਼ਾਖਾ ਤੋਂ ਦੂਜੀ ਵਿੱਚ ਜਾਣ ਦੀ ਪ੍ਰਕਿਰਿਆ। ਜਦੋਂ ਤੁਸੀਂ ਬ੍ਰਾਂਚਾਂ ਨੂੰ ਬਦਲਦੇ ਹੋ, ਤਾਂ Git HEAD ਪੁਆਇੰਟਰ ਨੂੰ ਨਵੀਂ ਬ੍ਰਾਂਚ ਵਿੱਚ ਲੈ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਉਸ ਬ੍ਰਾਂਚ 'ਤੇ ਕੰਮ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਹੋਰ ਸ਼ਾਖਾਵਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕੀਤੇ ਬਿਨਾਂ ਬਦਲਾਅ ਕਰ ਸਕਦੇ ਹੋ।

ਉਦਾਹਰਨ ਲਈ, ਮੰਨ ਲਓ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਸ਼ਾਖਾਵਾਂ ਹਨ feature-branch ਅਤੇ main. 'ਤੇ ਜਾਣ ਲਈ feature-branch, ਤੁਸੀਂ ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋਗੇ:

git checkout feature-branch

ਸ਼ਾਖਾਵਾਂ ਬਦਲਣ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਬਦਲਾਅ ਕਰ ਸਕਦੇ ਹੋ। ਸਾਰੀਆਂ commit, add, ਅਤੇ checkout ਕਮਾਂਡਾਂ ਮੌਜੂਦਾ ਸ਼ਾਖਾ 'ਤੇ ਲਾਗੂ ਹੋਣਗੀਆਂ।

ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਨਵੀਂ ਫਾਈਲ ਨੂੰ ਜੋੜਦੇ ਹੋ ਅਤੇ ਇਸਨੂੰ 'ਤੇ ਕਮਿਟ ਕਰਦੇ ਹੋ feature-branch, ਤਾਂ ਸਿਰਫ ਉਸ ਸ਼ਾਖਾ ਵਿੱਚ ਪ੍ਰਤੀਬੱਧਤਾ ਸ਼ਾਮਲ ਹੋਵੇਗੀ, ਜਦੋਂ ਕਿ main ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਹੁੰਦਾ। ਇਹ ਤੁਹਾਨੂੰ ਵੱਖਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਕਸਿਤ ਕਰਨ, ਬੱਗ ਠੀਕ ਕਰਨ, ਜਾਂ ਕੋਡ ਦੇ ਵੱਖ-ਵੱਖ ਸੰਸਕਰਣਾਂ 'ਤੇ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਹਰ ਸ਼ਾਖਾ 'ਤੇ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਨ ਦੀ ਲੋੜ ਪੈਣ 'ਤੇ ਤੁਸੀਂ ਸ਼ਾਖਾਵਾਂ ਵਿਚਕਾਰ ਬਦਲ ਸਕਦੇ ਹੋ।