I have 2 branch. develop and feature/KUB-23446. feature/KUB-23446 is created from develop but develop have many more changes commited from another branches. How can i update feature/KUB-23446 with latest changes of develop. Give me multiple approaches.
Approach# 1 – Merge Way
You can update the feature/KUB-23446 branch with the latest changes from the develop branch using multiple approaches. Here are three common methods:
Merge develop into feature/KUB-23446:
This approach involves creating a merge commit to bring the changes from develop into feature/KUB-23446. It's straightforward and retains a clear history of the branch relationships.
$ git checkout feature/KUB-23446
$ git merge develop
Resolve any conflicts if they occur and then commit the merge. Finally, push the updated feature/KUB-23446 branch to the remote repository if needed.
$ git push origin feature/KUB-23446
Approach# 2 – Rebase Way
Rebase feature/KUB-23446 onto develop:
This approach replays the changes from feature/KUB-23446 on top of the latest develop branch, resulting in a linear history without merge commits.
$ git checkout feature/KUB-23446
$ git rebase develop
Resolve conflicts if they occur during the rebase process. After resolving conflicts, continue the rebase with git rebase --continue. Once the rebase is complete, push the updated feature/KUB-23446 branch.
$ git push origin feature/KUB-23446
Be cautious with rebasing, as it rewrites commit history. This approach is suitable if you want to maintain a cleaner, linear history.
Approach# 3 – Cherry-pick
Cherry-pick individual commits from develop to feature/KUB-23446:
If you want more fine-grained control over which changes from develop are added to feature/KUB-23446, you can cherry-pick specific commits.
First, checkout the feature/KUB-23446 branch:
$ git checkout feature/KUB-23446
Then, cherry-pick the commits you want from develop:
$ git cherry-pick <commit-hash1> <commit-hash2> ...
Replace <commit-hash1>, <commit-hash2>, etc., with the actual hashes of the commits you want to cherry-pick from develop. After cherry-picking, resolve any conflicts that may arise and commit the changes.
Finally, push the updated feature/KUB-23446 branch to the remote repository:
$ git push origin feature/KUB-23446
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I am working at Cotocus. I blog tech insights at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at I reviewed , and SEO strategies at Wizbrand.
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at PINTEREST
Rajesh Kumar at QUORA
Rajesh Kumar at WIZBRAND