Learn how to rewrite Git history - Amend, Reword, Delete, Reorder, Squash and Split
HTML-код
- Опубликовано: 30 май 2024
- In this video I'll dive into some of the ways Git allows us to rewrite commit history. Specifically I cover: amending commits, rewording commit messages, deleting commits, reordering commits, squashing commits and splitting commits.
FULL WRITEUP: www.themoderncoder.com/rewrit...
MORE GIT VIDEOS: • Git
CHAPTERS
0:00 Intro
0:40 Amending commits
2:04 Rewording commits
4:14 Deleting commits
5:34 Reordering commits
7:04 Squashing commits
9:09 Splitting commits
MY TECH
2020 M1 MacBook Air (I have the 512GB variant): amzn.to/3TTIBsE
AirPods Pro: amzn.to/3sRLUo5
Gaming headset: amzn.to/3zwbT8i
Headphones (newer model): amzn.to/3Ub5reT
Keyboard: amzn.to/3FOOOC7
Mouse: amzn.to/3WhMFV9
Monitor: www.dell.com/en-us/work/shop/...
Monitor arm (newer model): amzn.to/3gXnlUa
Webcam: amzn.to/3zxxwp0
TECH ACCESSORIES
Laptop stand: amzn.to/3NuyqZ5
Mouse pad/mat: amzn.to/3U9QFVO
KVM switch: amzn.to/3gZmpP0
PC case: amzn.to/3Fx4Hg5
Under desk drawer: amzn.to/3WloFAo
VIDEO GEAR
Camera: amzn.to/3WkbiRe
Lens: amzn.to/3zxiTC4
Microphone: amzn.to/3SSUoWE
Main key light: amzn.to/3WhZbny
Secondary light: amzn.to/3fpRefx
^ Note for the Amazon links above: as an Amazon Associate I earn from qualifying purchases.
ABOUT ME
I'm a professional software engineer working at Amazon in New York City. I enjoy making videos about the tech industry so if you have a question please get in touch either through the comments or any of my socials and I'd be happy to help out. Thanks for checking out the channel!
FOLLOW ME
Website: www.themoderncoder.com
Instagram: / themoderncoder
Twitter: / themoderncoder
Join the email list for tips curated to improve your dev skills delivered monthly to your inbox: www.themoderncoder.com/email-...
I HAVE MORE GIT VIDEOS! ruclips.net/p/PLfU9XN7w4tFwKwh_xPSQ_X1-hROQEpHnM. Additionally, a written reference for this video is available on my blog: www.themoderncoder.com/git/
Pure gold! Learnt faster in those 12 mins than reading any book.
put the timestamps before the topic in the description and RUclips will automatically add chapters to the progress bar
0:00 - intro
0:40 - Amending commits
2:04 - Rewording commits
4:14 - Deleting commits
5:34 - Reordering commits
7:04 - Squashing commits
9:09 - Splitting commits
The "0:00" is needed
thx
Good tip thanks. I went ahead and made those changes
I like that this video is recorded in a kitchen. Makes it feel less intimidating. Also very clear explanations.
Was stuck on a PR as I was unable to edit a commit's changes this video saved me. Really helpful
Holy shit, git rebase is powerful.
I will keep this in mind whenever I want to fix something in my git history.
Hidden gems of youtube.
Dude it really helped me a lot i was missing the few of these concepts of git thank you.
This was gold, helped me a lot. Definitely great teaching abilities.
Thank you very much for your content. Extremely helpful. Love the animations, they make it so easy to wrap your head around the concepts.
Concise and straight to the point.
Bravo!
Omg did not know that is possible to reording commits. So darn simple! Thank you!
This channel is COMPLETELY underrated. You deserve a tonne more subscribers. Keep consistently making quality videos such as this, and you will make it bigger in no time!
3 hours of other videos in 13 minutes. Awesome. Thanks a lot
Awesome video! Great example of explaining stuff to the point with really good examples.
Very clear and concise explanations - thanks.
Great tutorial! Very useful and nicely explained.
You make a really good teacher...
Great explanation and the graphical representation you used while typing the commands made it much easier to understand from a visual perspective. Keep up the good work!
Great job! Explains everything so easily :)
This is the best tutorial of git I have ever seen.
Thanks man
Best explanatory video on all this subjects! Thanks and keep up the good work!
Been 2 days trying to learn how to delete a commit and you just came and and did it in 2 minutes
Can't express how thankful I am to you. So accurate and informative. Thank you indeed
Another excellent video, wish you'd come back to RUclips and do more!
Wow. You made it so easy to learn. Thank you 🙏
Really like the video, and the written blog is good too. Clear, concise and to the point.
Great concise explanation of everything that might matter to someone!
Clear and crisp. Thank you.
Very informative with awesome explanation.
Awesome buddy! I'm trying to go deep into git.. and this video was gold.
These videos are fantastic!
Thank you for this superb video. Awesome animation and edit makes this video more awesome.
This is just a great tutorial!
git rebase is a very powerful tool. Thanks for sharing your knowledge :)
Very well explained! Super good with the visual branches to better understand what's happening
You have a gift for teaching. Very concise and easy to understand.
Your Git Videos are really helping me to play with my commits & branch at work. Thank you so much.
Short and precise. Good job sir
It is crazy this is free content!
Perfect video, short, precise with visualization. Not like telling the history of git for 40 minutes, and then start explaining things like others do
Thanks for making this video. This has solved most of my problems.
Great video, so clean explanation.
This is the best video by far I have seen on RUclips. Thank you so much man....
Best, clearest git tutorials by a country mile. Thanks.
Very good video. Well explained. Thank you!
Great job! great explanation!
Subscribed!
You might be the only RUclipsr I have an occasional compulsion to listen to at lower than normal speed :D
best series on non-basic git, congrats
Over and over hank you again to express yourself in so clear way
Simply the best GIT explanation ever, super concise and really helped me get out of a pickle today !!! THANK YOU !
Good job this video looks edited by a professional company, the animations really help, keep up the good work
Voila...you gained a subscriber.. just loved the way you explain technically and practically
Very clear explanation, thanks !
I'm thankful for your content
Great video !! Couldn't have explained it any better !!
I wish you wouldn't have stopped uploading git tutorials, they are by far the best I've seen and I've seen many
Thank you very much. This was just what I needed to clean up my merge requests
very helpful and short video. short time you teach me alot.
thank you !
Thank you so much for this compilation
Absolute life saver! Thanks a ton for this.
You are a genius!! This video has helped me a lot
Excellent! Thank you so much for this video. I have struggled with rebasing and was scared. But your teaching skill is excellent and I learnt in few minutes and used it successfully.
Wonderful !! Thanks for this video man.
Thank you so much. Very good tutorial. and good animation too
Excellent video!
Great video,solved so many doubts
This is such a helpful resource! :)
Amazing Dude!
Thanks for your video.
Great Explanation. Thank You.
Superb Explanation
Excellent tutorial.
i fixed something today by manual merging with dev branch if i knew this before i wouldnt need to do manual work. Thanks man nice videos
Thank you for saving my life!
Thanks man..it really cleared the doubts✌️
Thank you very much for your content. Extremely helpful
Awesomeee!!! Thanks man! Cool video, helped me a lot!
Thanks, you really know how to explain in a faster and cooler way. Just one question, how can I perform these operations if I have previously pushed my changes?
All things I've done before, but I do them so infrequently I forget the work flow... thank you so much for the walk through!
Thanks for this! If you stick to Vim as the default Git text editor, you may want to know about the following commands as a starting point:
gg → Go to top of buffer/file.
ddp → Delete a line and put it below the current one (to re-order commit). `dd` deletes a line while `p` put it below the current line.
ddkP → Delete a line and put it above the current one. `dd` deletes a line, `k` moves up one line and `P` (uppercase) pastes above the current line.
h / j / k / l → Move around à la Vim.
x → Delete a character
xp → Switch the order of two characters.
G → Go to the end of the buffer/file.
ZZ → Save and quit buffer. For this purpose, same as `:wq` but less keystrokes ;).
There's obviously much more to learn, but that should be useful to at least do some basic operations.
Also, when splitting a commit, a single file might be part of two commits. So to commit only part of a file, there's also an interactive staging mode: git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
Great comment but I'm surprised you didn't include 'dw'. No one should be backspacing a word in Vim
@@SomeRUclipsGuy I thought a similar thing, but would recommend 'cw' (change word) instead, which enters you into insert mode after deleting the word. So it is equivalent to 'dw' + 'i'
@@joshuakoehler6457 It would seem you know a tiny bit more Vim than I.
This was an amazing video. I learned a lot, including: I will never split a commit.
Thank you very much for your knowledge sharing, you're the best!
I have searched for answers and videos I didn't get anywhere, but the way you explain git is amazing and one of the best explanations ever seen. You are soo good at Git man. Thanks for the Video. Please make more videos. I love it
Love your videos! I hope you go ahead with them!
For sure. Got any idea for topics?
@@themoderncoder Soft Skills. They are as much crucial as Hard Skills. The idea is to present the most important of them, and how can Soft Skills turn you into a rare professional.
This is the best explanation I have seen for Git's commands, and they are real world solutions for real world problems. Thank you very much.
A perfect video. Thank you 🙂
You explained it beautifully
omg this video saved my life, thank you very much!!!
Amazing video man, THANKS A LOT
Thanks a lot for this video, this is very useful
1) in vim instead of :wq you can use :x its shorter
2) when explaining drop, you should mention, that changes in README file also will be reverted, not only commit message from git history, so people who wants only remove commit message, but not changes should use fixup
3) in vim, instead of cut-paste, use copy (press yy on line to copy in command mode) + paste (press p on line above place where you want paste) + delete (press: dd on line to delete)
3) dd and P was all he need. No yank was needed in this video.
To clarify in 3) dd is like cut, yy is like copy, p is like paste (but using registers instead of clipboard)
excelent vídeo. very clear explained. that kind of graphics are a very good idea.
thanks man . you saved my day
I mean, so many comments before have said this, but I need to confirm: this tutorial was more clear and understandable than the articles and other videos I watched about rebasing and changing Git commit history! I get it now!
Thank you, very good tutorial.
Awesome tutorial. Learnt new things. Cheers (y)
So useful! Thank you so much
Clearly and easy to understand. thank for good video. :-)
Thanks a lot, this tutorial helped me a lot to fixing my shitty commits,
Excellent, Very helpful. Thanks