I have more Git videos! th-cam.com/play/PLfU9XN7w4tFwKwh_xPSQ_X1-hROQEpHnM.html. Additionally, a written reference for this video is available on my blog: www.themoderncoder.com/git/
you are the best !! my take way: learned how to check the log of another branch without switching to it. learned the concept of cherry pick love your animation. my great gratitude to you for your time to teach us all this. you must be a very nice person !!. Thanks again ! Mathew. K from Colorado
Thank you. I was annoying developers with it before but it started to seem too bad so I wanted to take control of it and cherry pick myself so Devs can focus on code. Thank you
wondered how the hell cherry pick worked for years after someone at an internship tried to show me years ago but in the most convoluted way. Now you've made me realize how easy it really is in just 5 mins and actual use cases for it. I was nervous about it for nothing lol thx man!
thanks @themoderncoder! that was very clear and easy to understand. Now I want to know what sorcery you used to copy both of the git hashes onto the clipboard at once 😀
Lmao, that’s amazing you caught that! I edited that in post because it felt too clunky for the flow of the video to go back and forth copying one then the other. If anybody knows of a tool to do that, I’m all ears too
Not sure if I am doing it right. I have 2 branches, dev and main. Let's say dev and main are in sync initially. At at present, my development work in going on and I have added 3 new commits to dev (main now lags by 3 commits). At this point of time there is a production issue and I add a fix on dev and make the 4th commit. After switching to main branch, if I run `git cherry-pick bd46315 `, it's pulling earlier 3 commits along with 4th one. I want to pull only the 4th commit: bd46315 (origin/dev, dev) 4.HOT FIX ADDED ede1f33 3.textarea added 88cdb80 2. select dd added c93667f 1. text input added 62d132f (HEAD -> main, origin/main) Initial commit
Nice video! Question -- what if the commit I want to cherry-pick is depending on another commit (on the "cherry" branch)"? Do I must to specify them both in a same command? Or both will be picked up automatically?
I have question - 3:57 wouldn't it be better, if order of the commit should be old to new commit i.e. bugfix in config followed by added logo to footer. Any thoughts
At the end when you demo'd multiple commits being cherry picked, the more recent commit was listed first. If the recent commit built on top of the earlier commit, would it make sense to order them by earlier commit first and recent commit second when doing git cherry pick? I.e. git cherry-pick
Yes! If you're picking multiple I'd keep the same order as they originally were. Sorry - I didn't realize I did them out of order in the video. Good catch.
Very informative, but I have a question, what if we cherry pick a commit that has changes related to a piece of code that was introduced in a commit that we haven't cherry picked, what would happen then? Thanks a lot.
You’d get a conflict. The cherry pick operation will pause and notify you that it found incompatible changes. You can then choose to fix it or abort the cherry pick. I go over that workflow here if you’ve got time for another video: th-cam.com/video/aUeNbpSkY8k/w-d-xo.htmlsi=XY4HdGpHM6_QSU1S
Hey Jack, thanks for sharing about cherry-pick, I’ve actually been using it at work for the past month I’ve been meaning to ask, in this case, as the commit hashes are different, how would the resulting main branch look after merging the feature branch? I assume there would be 2 duplicate commits of the commits that were cherry-picked?
That's correct. Cherry pick just applies the changes introduced by the commits - so you're essentially duplicating the commits you've cherry picked. The example I gave in the video about a bug fix commit is deliberate, because that's one common situation where cherry pick is useful; however, most of the time you'll probably find merge or rebase a better tool to apply changes across branches.
If you rebase nav against main AFTER the cherry pick, you won’t have a conflict because of the cherry picked commit. That said, it depends on what’s in the other commits on the nav branch, but the cherry picked commit won’t cause issues.
hello Jack, thx for your tutorial.. q: after cherry-pciked, it will be "merged" to the target branch? (or cherry-pick is a temporary solution for me to continue work on a project?)
You can think of stashes like setting aside your staging area. So unlike branches that can be merged, or commits that can be rebased, stashes aren't anchored to anything so when you say stashes are "merged" they're really just merged into staging area. This means when you pop out stashes there can be conflicts, but that's not quite the same type of conflict as a traditional merge conflict - this video might clear some of that up: th-cam.com/video/zC4DelBr_Fg/w-d-xo.html
I have more Git videos! th-cam.com/play/PLfU9XN7w4tFwKwh_xPSQ_X1-hROQEpHnM.html. Additionally, a written reference for this video is available on my blog: www.themoderncoder.com/git/
Straight to the point, easy to understand for the beginners with good animation
Crystal clear, to the point explanation. Love your teaching style with animations. Please keep on making videos.
Thanks for the clarification!
Crystal clear, and just what I needed.
"No nonsense, just get to the point" videos. Very easy to follow and much appreciated!!
you are the best !! my take way:
learned how to check the log of another branch without switching to it.
learned the concept of cherry pick
love your animation.
my great gratitude to you for your time to teach us all this. you must be a very nice person !!.
Thanks again !
Mathew. K from Colorado
short, easy to understand... great! thanks
Best git explanation ever, very clear and just perfect!!
OMG, this is amazing! The way you explain the cherry-pick command with animation made it so easy to understand. It just clicked with me.
Thanks for the tips. Excellent short video as usual.
Greetings from the Galilee.
Thanks for sharing this. These videos are very helpful, and the way you have explained everything has cleared all my doubts.
Thank you. I was annoying developers with it before but it started to seem too bad so I wanted to take control of it and cherry pick myself so Devs can focus on code. Thank you
Wow, this is a great explanation! Thank you for sharing, helped me a lot to understand how cherry-pick works.
Amazing explanation. Those animations made it very easy to understand.
Thank you, amazing!
I was always "afraid" of using cherry picking, but with this excellent explanation I will use it often.
Thank you, till now I faced difficulty about cherry picking, but after watching this video it made completely sense. Thanks again.
concise & precise only video worth it
you earned a subscriber. thanks
BTW I use Arch
You have the best git videos on the all internet. Congrats
I've just prepared my first hotfix release using your tips. My tag version is going to be in production next wednesday. 😝
Nice! Great job 👏
Thanks a lot! I'm very excited to check your other Git content!
Pure definition of getting straight to the point🙏🙏🙏🙏
tutorial is clean and crispy
Dudede I liked your teaching skills and visualization, and now I understood cherry pick. Awesome. Thanks
wondered how the hell cherry pick worked for years after someone at an internship tried to show me years ago but in the most convoluted way. Now you've made me realize how easy it really is in just 5 mins and actual use cases for it. I was nervous about it for nothing lol thx man!
Honestly, it’s comments like yours that keep me motivated! Thanks for letting me know
The best git tutorial Ive ever seen
awesome super easy
Thanks, you made it very straight forward!
Nice tutorial!
Top teaching style on these videos!
great video! Thanks so much!
Good stuff! Many thanks.
Thank you Jack!!
Bro I just subscribed without any hesitation. Thank you for your great work!
Lovely! Thank you so much for this. You kept it dead simple, which is what we are looking for.
Wow.. how easily explained!
Nice explanation, thankyou
Well explained, clear and to the point. Thank you 🙂
Well explained man... thanks for making it easy
thanks @themoderncoder! that was very clear and easy to understand. Now I want to know what sorcery you used to copy both of the git hashes onto the clipboard at once 😀
Lmao, that’s amazing you caught that! I edited that in post because it felt too clunky for the flow of the video to go back and forth copying one then the other. If anybody knows of a tool to do that, I’m all ears too
honestly I though I would die before learning cherry pick, thank you for the clear explanation
good work.
thank you dear
awesome and to the point, ty!
the visualization really helps, appreciated!
Great tutorial :)
straight to the problem, thanks
Simple and nice explaination !
Thank you so much ❤
Awesome and thank you!
Subscribed...!
Thanks a lot.
Not sure if I am doing it right. I have 2 branches, dev and main. Let's say dev and main are in sync initially. At at present, my development work in going on and I have added 3 new commits to dev (main now lags by 3 commits). At this point of time there is a production issue and I add a fix on dev and make the 4th commit.
After switching to main branch, if I run `git cherry-pick bd46315 `, it's pulling earlier 3 commits along with 4th one. I want to pull only the 4th commit:
bd46315 (origin/dev, dev) 4.HOT FIX ADDED
ede1f33 3.textarea added
88cdb80 2. select dd added
c93667f 1. text input added
62d132f (HEAD -> main, origin/main) Initial commit
nice information
Thanks, man. That was an ideal tutorial video. Straight to the point and clear animations to help. You rock!
Very helpful ! Thanks man !
Good video
That was awesome 👍
Nice video! Question -- what if the commit I want to cherry-pick is depending on another commit (on the "cherry" branch)"? Do I must to specify them both in a same command? Or both will be picked up automatically?
You made it very easy to understand! Thank you!
Thank u, so clearly
thanks, clear and straight to the point ♥
Awesome. Gracias 🤝
Clean and very easy to understand thanks man!
Glad it helped!
What is the Font and related config for your Terminal? I love it.
Thanks. Short answer: Iosevka is the font and I cover most of the config here: th-cam.com/video/DetYI7bjNrw/w-d-xo.html
you're amazing , keep it the good work :)
Thank you!
awesome, thank you!
Short sweet, great tutorial
Glad it helped
very nice explaination
Thanks man !! Keep up the good works.
Do you think you could make a video where you explain cherry-picking merge commits?
Should be the same workflow since merge commits are just a bundle of all the changes introduced by that particular branch.
Great tutorial mate, keep it up
Great video. Quick question - your example shows cherry picking into main. Can we use cherry pick to go from one branch to another (non main) branch?
Yes, you definitely can.
Underrated video
Thanks! Very effective explanation. Even my cat now understood 😂
Lol excellent!
Awesome video!!
Thank you so much
thanks man
I have question - 3:57 wouldn't it be better, if order of the commit should be old to new commit i.e. bugfix in config followed by added logo to footer. Any thoughts
At the end when you demo'd multiple commits being cherry picked, the more recent commit was listed first. If the recent commit built on top of the earlier commit, would it make sense to order them by earlier commit first and recent commit second when doing git cherry pick? I.e. git cherry-pick
Yes! If you're picking multiple I'd keep the same order as they originally were. Sorry - I didn't realize I did them out of order in the video. Good catch.
Great, btw, what font is that?
Iosevka!
@@themoderncoder Thanks.
Very informative, but I have a question, what if we cherry pick a commit that has changes related to a piece of code that was introduced in a commit that we haven't cherry picked, what would happen then? Thanks a lot.
You’d get a conflict. The cherry pick operation will pause and notify you that it found incompatible changes. You can then choose to fix it or abort the cherry pick. I go over that workflow here if you’ve got time for another video: th-cam.com/video/aUeNbpSkY8k/w-d-xo.htmlsi=XY4HdGpHM6_QSU1S
@@themoderncoder Oh I see, will definitely check it out, thanks.
Hey Jack, thanks for sharing about cherry-pick, I’ve actually been using it at work for the past month
I’ve been meaning to ask, in this case, as the commit hashes are different, how would the resulting main branch look after merging the feature branch? I assume there would be 2 duplicate commits of the commits that were cherry-picked?
That's correct. Cherry pick just applies the changes introduced by the commits - so you're essentially duplicating the commits you've cherry picked. The example I gave in the video about a bug fix commit is deliberate, because that's one common situation where cherry pick is useful; however, most of the time you'll probably find merge or rebase a better tool to apply changes across branches.
Awesome
Thank brother
Will you have a conflict after doing git rebase nav?
If you rebase nav against main AFTER the cherry pick, you won’t have a conflict because of the cherry picked commit. That said, it depends on what’s in the other commits on the nav branch, but the cherry picked commit won’t cause issues.
hello Jack, thx for your tutorial.. q: after cherry-pciked, it will be "merged" to the target branch? (or cherry-pick is a temporary solution for me to continue work on a project?)
You can think of stashes like setting aside your staging area. So unlike branches that can be merged, or commits that can be rebased, stashes aren't anchored to anything so when you say stashes are "merged" they're really just merged into staging area. This means when you pop out stashes there can be conflicts, but that's not quite the same type of conflict as a traditional merge conflict - this video might clear some of that up: th-cam.com/video/zC4DelBr_Fg/w-d-xo.html
but in vs code after i do the cherry pick why the changes is not detected? is it only me? or it's supposed to be like that?
Can you clarify what you mean?
Too simple to not understand :)
Seems too simple when you put it this way