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-...

Комментарии • 262

  • @themoderncoder
    @themoderncoder  Год назад +1

    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/

  • @tomng92
    @tomng92 3 года назад +58

    Pure gold! Learnt faster in those 12 mins than reading any book.

  • @RedFenceAnime
    @RedFenceAnime 3 года назад +61

    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

  • @moe-eh5vi
    @moe-eh5vi 2 года назад

    I like that this video is recorded in a kitchen. Makes it feel less intimidating. Also very clear explanations.

  • @vaibhavgarg5607
    @vaibhavgarg5607 Месяц назад

    Was stuck on a PR as I was unable to edit a commit's changes this video saved me. Really helpful

  • @m4rt_
    @m4rt_ 7 месяцев назад +1

    Holy shit, git rebase is powerful.
    I will keep this in mind whenever I want to fix something in my git history.

  • @rabishankar5993
    @rabishankar5993 3 года назад

    Hidden gems of youtube.

  • @786saga
    @786saga 4 года назад +5

    Dude it really helped me a lot i was missing the few of these concepts of git thank you.

  • @losrobbosful
    @losrobbosful 4 года назад +24

    This was gold, helped me a lot. Definitely great teaching abilities.

  • @AdamTheBen
    @AdamTheBen 4 года назад

    Thank you very much for your content. Extremely helpful. Love the animations, they make it so easy to wrap your head around the concepts.

  • @nikolajovanovic1140
    @nikolajovanovic1140 4 года назад +2

    Concise and straight to the point.
    Bravo!

  •  5 лет назад +1

    Omg did not know that is possible to reording commits. So darn simple! Thank you!

  • @thesavagesalmon9464
    @thesavagesalmon9464 4 года назад +6

    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!

  • @Trhnetesiuz
    @Trhnetesiuz 2 года назад

    3 hours of other videos in 13 minutes. Awesome. Thanks a lot

  • @nrmlkmrks
    @nrmlkmrks 4 года назад

    Awesome video! Great example of explaining stuff to the point with really good examples.

  • @greenmanreddog
    @greenmanreddog 4 года назад

    Very clear and concise explanations - thanks.

  • @RubenDias93
    @RubenDias93 4 года назад

    Great tutorial! Very useful and nicely explained.

  • @JoshuaMusau
    @JoshuaMusau 4 года назад +1

    You make a really good teacher...

  • @cddrury
    @cddrury 4 года назад +2

    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!

  • @Anujgupta-yi9di
    @Anujgupta-yi9di 3 года назад

    Great job! Explains everything so easily :)

  • @codewithsub5083
    @codewithsub5083 4 года назад +1

    This is the best tutorial of git I have ever seen.
    Thanks man

  • @diegoarielbaezrenault3133
    @diegoarielbaezrenault3133 3 года назад

    Best explanatory video on all this subjects! Thanks and keep up the good work!

  • @abdul-aleemelmuzoghi4133
    @abdul-aleemelmuzoghi4133 3 года назад

    Been 2 days trying to learn how to delete a commit and you just came and and did it in 2 minutes

  • @zmark2274
    @zmark2274 3 года назад +1

    Can't express how thankful I am to you. So accurate and informative. Thank you indeed

  • @alanjrobertson
    @alanjrobertson Год назад

    Another excellent video, wish you'd come back to RUclips and do more!

  • @Kamaltweet
    @Kamaltweet 4 года назад

    Wow. You made it so easy to learn. Thank you 🙏

  • @fahadmubeen6272
    @fahadmubeen6272 2 года назад

    Really like the video, and the written blog is good too. Clear, concise and to the point.

  • @MartijnMuijsers
    @MartijnMuijsers 2 года назад +1

    Great concise explanation of everything that might matter to someone!

  • @videet
    @videet Год назад

    Clear and crisp. Thank you.

  • @NirdeshM
    @NirdeshM 3 года назад +1

    Very informative with awesome explanation.

  • @gabrielsanmartin8326
    @gabrielsanmartin8326 3 года назад

    Awesome buddy! I'm trying to go deep into git.. and this video was gold.

  • @bseroy
    @bseroy 4 года назад +1

    These videos are fantastic!

  • @SarnenduMukherjee
    @SarnenduMukherjee 3 года назад

    Thank you for this superb video. Awesome animation and edit makes this video more awesome.

  • @donalexey
    @donalexey 5 лет назад +9

    This is just a great tutorial!

  • @fullstackprojects5615
    @fullstackprojects5615 2 года назад +1

    git rebase is a very powerful tool. Thanks for sharing your knowledge :)

  • @danielwestberg9540
    @danielwestberg9540 4 года назад

    Very well explained! Super good with the visual branches to better understand what's happening

  • @pascualrosario8633
    @pascualrosario8633 11 месяцев назад

    You have a gift for teaching. Very concise and easy to understand.

  • @najimali32
    @najimali32 Год назад

    Your Git Videos are really helping me to play with my commits & branch at work. Thank you so much.

  • @ianedits1
    @ianedits1 2 года назад

    Short and precise. Good job sir

  • @alexanderjesusvargas5998
    @alexanderjesusvargas5998 4 года назад +2

    It is crazy this is free content!

  • @gaofan2856
    @gaofan2856 Год назад

    Perfect video, short, precise with visualization. Not like telling the history of git for 40 minutes, and then start explaining things like others do

  • @siegblink182
    @siegblink182 4 года назад

    Thanks for making this video. This has solved most of my problems.

  • @Pumazr
    @Pumazr 4 года назад

    Great video, so clean explanation.

  • @d-e-v-esh
    @d-e-v-esh 3 года назад

    This is the best video by far I have seen on RUclips. Thank you so much man....

  • @peterdoyle1994
    @peterdoyle1994 3 года назад

    Best, clearest git tutorials by a country mile. Thanks.

  • @przemekostrowski3108
    @przemekostrowski3108 8 месяцев назад

    Very good video. Well explained. Thank you!

  • @louaiforui
    @louaiforui Год назад

    Great job! great explanation!

  • @nospecialmeaning2
    @nospecialmeaning2 2 года назад

    Subscribed!
    You might be the only RUclipsr I have an occasional compulsion to listen to at lower than normal speed :D

  • @gabrielsoloman5000
    @gabrielsoloman5000 3 года назад

    best series on non-basic git, congrats

  • @zmark2274
    @zmark2274 3 года назад

    Over and over hank you again to express yourself in so clear way

  • @sebastianfarias5670
    @sebastianfarias5670 3 года назад

    Simply the best GIT explanation ever, super concise and really helped me get out of a pickle today !!! THANK YOU !

  • @AIGenerated
    @AIGenerated 4 года назад

    Good job this video looks edited by a professional company, the animations really help, keep up the good work

  • @shivanjalikaname8935
    @shivanjalikaname8935 3 года назад

    Voila...you gained a subscriber.. just loved the way you explain technically and practically

  • @violindiep
    @violindiep 4 года назад

    Very clear explanation, thanks !

  • @qCJLbggG4IWAY9nTH6o
    @qCJLbggG4IWAY9nTH6o 2 года назад

    I'm thankful for your content

  • @youssefsabbagh4341
    @youssefsabbagh4341 2 года назад

    Great video !! Couldn't have explained it any better !!

  • @arthurh2064
    @arthurh2064 4 года назад +1

    I wish you wouldn't have stopped uploading git tutorials, they are by far the best I've seen and I've seen many

  • @Mark986270
    @Mark986270 7 месяцев назад

    Thank you very much. This was just what I needed to clean up my merge requests

  • @forkanali
    @forkanali 3 года назад

    very helpful and short video. short time you teach me alot.
    thank you !

  • @martinspilovsky9071
    @martinspilovsky9071 3 года назад +1

    Thank you so much for this compilation

  • @DavidLance
    @DavidLance 4 года назад

    Absolute life saver! Thanks a ton for this.

  • @rohitkumarshrivastava9693
    @rohitkumarshrivastava9693 3 года назад

    You are a genius!! This video has helped me a lot

  • @sumanghosh4439
    @sumanghosh4439 2 года назад

    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.

  • @SakhawatHossainlive
    @SakhawatHossainlive 3 года назад

    Wonderful !! Thanks for this video man.

  • @pradeepnooney3056
    @pradeepnooney3056 3 года назад

    Thank you so much. Very good tutorial. and good animation too

  • @jeffreyrooks9488
    @jeffreyrooks9488 4 года назад +1

    Excellent video!

  • @soumyadrip
    @soumyadrip 3 года назад

    Great video,solved so many doubts

  • @ashleyrawr74
    @ashleyrawr74 4 года назад

    This is such a helpful resource! :)

  • @rockydev5750
    @rockydev5750 5 лет назад +1

    Amazing Dude!
    Thanks for your video.

  • @samithakulatilaka
    @samithakulatilaka 3 года назад

    Great Explanation. Thank You.

  • @vidyawimalasooriya6604
    @vidyawimalasooriya6604 2 года назад

    Superb Explanation

  • @liminal6823
    @liminal6823 2 года назад

    Excellent tutorial.

  • @VKD007
    @VKD007 2 года назад

    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

  • @LeonardoBPG
    @LeonardoBPG 4 года назад +1

    Thank you for saving my life!

  • @rahuldasmajumder7690
    @rahuldasmajumder7690 2 года назад

    Thanks man..it really cleared the doubts✌️

  • @10SURA
    @10SURA 3 года назад

    Thank you very much for your content. Extremely helpful

  • @magakz
    @magakz 2 года назад

    Awesomeee!!! Thanks man! Cool video, helped me a lot!

  • @GuillermoAguilarCruz
    @GuillermoAguilarCruz 4 года назад +1

    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?

  • @mr.w7803
    @mr.w7803 4 года назад

    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!

  • @slavoie
    @slavoie 4 года назад +8

    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

    • @SomeYouTubeGuy
      @SomeYouTubeGuy 4 года назад

      Great comment but I'm surprised you didn't include 'dw'. No one should be backspacing a word in Vim

    • @joshuakoehler6457
      @joshuakoehler6457 4 года назад +1

      @@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'

    • @SomeYouTubeGuy
      @SomeYouTubeGuy 4 года назад +1

      @@joshuakoehler6457 It would seem you know a tiny bit more Vim than I.

  • @iconjack
    @iconjack 4 года назад +1

    This was an amazing video. I learned a lot, including: I will never split a commit.

  • @akbarhafeezbutt1761
    @akbarhafeezbutt1761 2 года назад

    Thank you very much for your knowledge sharing, you're the best!

  • @vishnuthamizharasan6192
    @vishnuthamizharasan6192 3 года назад

    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

  • @pitter5990
    @pitter5990 5 лет назад

    Love your videos! I hope you go ahead with them!

    • @themoderncoder
      @themoderncoder  5 лет назад +1

      For sure. Got any idea for topics?

    • @pitter5990
      @pitter5990 5 лет назад

      @@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.

  • @kapaaaau
    @kapaaaau 4 года назад

    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.

  • @StefanBanu
    @StefanBanu 4 года назад +1

    A perfect video. Thank you 🙂

  • @BG-fo4si
    @BG-fo4si Год назад

    You explained it beautifully

  • @lucasvtiradentes
    @lucasvtiradentes 3 года назад

    omg this video saved my life, thank you very much!!!

  • @jibaromar2249
    @jibaromar2249 4 года назад

    Amazing video man, THANKS A LOT

  • @sekar887
    @sekar887 2 года назад

    Thanks a lot for this video, this is very useful

  • @daggerok
    @daggerok 4 года назад +8

    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)

    • @mariano.zunino
      @mariano.zunino 4 года назад +8

      3) dd and P was all he need. No yank was needed in this video.

    • @Andriak2
      @Andriak2 4 года назад +4

      To clarify in 3) dd is like cut, yy is like copy, p is like paste (but using registers instead of clipboard)

  • @demian256able
    @demian256able 2 года назад

    excelent vídeo. very clear explained. that kind of graphics are a very good idea.

  • @amitbd1508
    @amitbd1508 2 года назад

    thanks man . you saved my day

  • @krazee_aznnn
    @krazee_aznnn 4 года назад

    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!

  • @MrSchattka
    @MrSchattka 4 года назад

    Thank you, very good tutorial.

  • @mrrajib
    @mrrajib 3 года назад

    Awesome tutorial. Learnt new things. Cheers (y)

  • @jingz.9684
    @jingz.9684 5 лет назад

    So useful! Thank you so much

  • @ratenoopee
    @ratenoopee 4 года назад

    Clearly and easy to understand. thank for good video. :-)

  • @shaka1240
    @shaka1240 4 года назад +2

    Thanks a lot, this tutorial helped me a lot to fixing my shitty commits,

  • @Dipenparmar12
    @Dipenparmar12 3 года назад

    Excellent, Very helpful. Thanks