Git merge ਅਤੇ Git rebase ਇੱਕ ਸ਼ਾਖਾ ਤੋਂ ਮੌਜੂਦਾ ਸ਼ਾਖਾ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਲਈ ਦੋ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਹਨ। merge ਇੱਥੇ ਗਿੱਟ ਅਤੇ ਗਿੱਟ ਵਿਚਕਾਰ ਅੰਤਰ ਹਨ rebase:
Git Merge
- Git Merge commit ਇੱਕ ਸ਼ਾਖਾ ਦੇ ਇਤਿਹਾਸ ਨੂੰ ਮੌਜੂਦਾ ਸ਼ਾਖਾ ਵਿੱਚ ਜੋੜਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ ।
- ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੇ ਹੋ merge, ਤਾਂ ਗਿੱਟ ਇੱਕ ਨਵਾਂ ਬਣਾਉਂਦਾ ਹੈ commit ਜਿਸ ਵਿੱਚ ਵਿਲੀਨ ਸ਼ਾਖਾ ਅਤੇ ਮੌਜੂਦਾ ਸ਼ਾਖਾ ਦੇ ਸਾਰੇ ਬਦਲਾਅ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
- Merge ਦੋਵਾਂ ਸ਼ਾਖਾਵਾਂ ਦੇ ਇਤਿਹਾਸ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ, ਜਿਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜਾਂ ਲੰਬੇ ਸਮੇਂ ਦੀਆਂ ਸ਼ਾਖਾਵਾਂ ਨੂੰ ਜੋੜਦੇ ਸਮੇਂ commit ਇੱਕ ਗੁੰਝਲਦਾਰ ਇਤਿਹਾਸ ਹੋ ਸਕਦਾ ਹੈ । commit
- Merge ਆਮ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਹਰੇਕ ਸ਼ਾਖਾ ਲਈ ਵੱਖਰਾ ਇਤਿਹਾਸ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ commit ਅਤੇ ਸਿਰਫ ਮੁੱਖ ਸ਼ਾਖਾ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਨੂੰ ਜੋੜਨਾ ਚਾਹੁੰਦੇ ਹੋ।
Git Rebase
- Git Rebase ਮੌਜੂਦਾ ਸ਼ਾਖਾ ਦੇ ਕਮਿਟਾਂ ਨੂੰ ਮੂਵ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਉਸ ਸ਼ਾਖਾ ਦੇ ਸਿਖਰ 'ਤੇ ਰੱਖਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਏਕੀਕ੍ਰਿਤ(ਰੀਬੇਸ) ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।
- ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੇ ਹੋ rebase, ਤਾਂ ਗਿੱਟ commit ਮੌਜੂਦਾ ਸ਼ਾਖਾ ਵਿੱਚੋਂ ਹਰੇਕ ਨੂੰ ਨਿਸ਼ਾਨਾ ਸ਼ਾਖਾ ਦੇ ਸਿਖਰ 'ਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਇਹ ਇੱਕ ਨਵੀਂ ਅਤੇ ਸਾਫ਼ commit ਚੇਨ ਬਣਾਉਂਦਾ ਹੈ।
- Rebase ਇੱਕ ਸਰਲ ਅਤੇ ਵਧੇਰੇ ਰੇਖਿਕ commit ਇਤਿਹਾਸ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ, ਪਰ ਇਹ commit ਮੌਜੂਦਾ ਬ੍ਰਾਂਚ ਦੇ ਇਤਿਹਾਸ ਨੂੰ ਬਦਲ ਸਕਦਾ ਹੈ ਅਤੇ ਜੇਕਰ ਇੱਕ ਹੀ ਬ੍ਰਾਂਚ ਵਿੱਚ ਇੱਕ ਤੋਂ ਵੱਧ ਲੋਕ ਕੰਮ ਕਰ ਰਹੇ ਹਨ ਤਾਂ ਵਿਵਾਦ ਪੈਦਾ ਹੋ ਸਕਦਾ ਹੈ।
merge Git ਅਤੇ Git ਵਿਚਕਾਰ ਚੋਣ rebase ਤੁਹਾਡੇ ਵਰਕਫਲੋ ਅਤੇ ਖਾਸ ਪ੍ਰੋਜੈਕਟ ਲੋੜਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਵੱਖਰਾ ਇਤਿਹਾਸ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ commit ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜਾਂ ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਚੱਲਣ ਵਾਲੀਆਂ ਸ਼ਾਖਾਵਾਂ ਨੂੰ ਜੋੜਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਵਰਤੋ merge । ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਸਰਲ ਅਤੇ ਵਧੇਰੇ ਰੇਖਿਕ commit ਇਤਿਹਾਸ ਨੂੰ ਕਾਇਮ ਰੱਖਣਾ ਪਸੰਦ ਕਰਦੇ ਹੋ, ਤਾਂ ਵਰਤੋ rebase ।