Git rebase: how to resolve conflicts

Поділитися
Вставка
  • Опубліковано 3 гру 2024

КОМЕНТАРІ • 70

  • @TokyoXtreme
    @TokyoXtreme 3 роки тому +6

    A channel with this level of production value has only 38 subscribers!? This video has the best explanation I’ve seen so far of rebase conflict resolution. Make me #39.

  • @larryoke3434
    @larryoke3434 Рік тому +2

    I've been banging my head asking why do I keep getting the multiple conflicts during git rebase, I've looked everywhere, thinking I'm not doing it right. Now I know why, I should have done a squash first. Many thanks for that very last minute explanation, not even part if the video topic. It is why I came here. Many thanks

    • @teamprogrammer9650
      @teamprogrammer9650  Рік тому +1

      Thank you @Larry\sOke! This means a lot to me. I didn't visit this channel in a while, been busy with my 4th child, and seeing comments like this motivates me to do more explainer type videos!

    • @stiantsse7382
      @stiantsse7382 7 місяців тому

      I have been having this issue for years, so nice to finally figure it out

  • @jasonfreeman8022
    @jasonfreeman8022 6 місяців тому +1

    I watched this video after having some difficulty with a git rebase and the video photo perfectly captured my feelings after working with the rebase.

  • @AltruisticHedonism
    @AltruisticHedonism 3 роки тому +2

    It's criminal more people haven't seen this, especially the cut-away head smash. Hope you continue with more vids some day!

    • @teamprogrammer9650
      @teamprogrammer9650  3 роки тому +1

      Thank you so much! I'd like to do more with my team :) We're just a bit busy this Q4 at work :)

  • @ShadyRonin
    @ShadyRonin Рік тому +1

    Thank you for this video! It's helpful to just see you go through the steps and pause to explain what we're looking at frequently, and why we're seeing the step we're at. This is a great approach and makes it much easier to learn than reading documentation in some cases.

  • @imuentinyannosarumen9789
    @imuentinyannosarumen9789 2 роки тому +4

    This is an excellent explanation. I had this issue at work some days ago and had to go through the
    painful road of figuring an alternative way to do it because I could not understand the videos I came across.
    But watching your video now, I see what I should have done clearly and clearly sees how it would have solved
    the conflicts I had.

    • @AlexKovshovik
      @AlexKovshovik 2 роки тому

      Thank you so much for your comment! It means a lot to me!

  • @dariatss
    @dariatss Рік тому +1

    The sketch really cracked me up. More, please!

    • @teamprogrammer9650
      @teamprogrammer9650  Рік тому +1

      Hi @Daria, let's face it - I only do the programmer videos so I could include silly sketches with them :) Working on another one as we speak!

  • @AC-ez9ky
    @AC-ez9ky 3 роки тому +1

    Nice, great explanation. And I liked that "I always pull before push to avoid conflicts", had a nice laugh

  • @dxphilo
    @dxphilo 2 роки тому

    Looool. Everytime I have some conflicts to resolve I come for this video. Thanks a bunch.

  • @alefrwx
    @alefrwx 2 роки тому +3

    Nice! Your explanations are very didatical! Thank you! I'm curious about the next video.

  • @mohammadsalman3257
    @mohammadsalman3257 3 роки тому +2

    probably only video that exactly addresses my problem. thank you.

  • @SirBenJamin_
    @SirBenJamin_ Рік тому +2

    At 4:20, how come you didn't have to pull the remote changes? I thought fetch only downloaded them without applying them?

    • @AlexKovshovik
      @AlexKovshovik Рік тому +1

      Good question: fetch doesn’t apply changes to your local copy of main branch, but it does apply them to the origin/main “ref”, which is kinda a local mirror of the remote main. So when I rebase on top of origin/main after fetch, I am rebasing on top of latest commit from the remote main. I hope this makes sense :)

  • @huayang2467
    @huayang2467 Рік тому +1

    Thank you so much, sir! For explaining this topic of rebasing with merge conflicts so well. I have watch many other videos. This is the clearest. I just used it to rebase and solve conflicts by myself for the 1st time! I thought I could never learn to do this by myself. It feels good to not have to plead my male colleagues for help with this all the time.

    • @teamprogrammer9650
      @teamprogrammer9650  Рік тому +1

      Thank you for saying this! It means a lot to me! I'm working on the Kubernetes one now :) Takes time to do it right

  • @jvanelteren
    @jvanelteren 3 роки тому +6

    Great video, keep it up. This is really helpful to better understand git. It would also be nice to have something about branch strategy (trunk based vs gitflow or something). Or when to use a dev branch with separate feature branches. Or when to merge dev into master for a release

    • @teamprogrammer9650
      @teamprogrammer9650  3 роки тому

      Thank you so much for feedback! I'd like to finish up rebase with the squashing and editing the commits, then I'll definitely talk about branching strategy: multiple long-lived branches vs a feature branches, release channels, etc.
      Best,
      Alex.

  • @HavingFunWithAvyan
    @HavingFunWithAvyan 3 місяці тому

    Thanks for clean explanation.

  • @rahulumap2969
    @rahulumap2969 Рік тому

    Thank you for this video!

  • @thierrybeaulieu4403
    @thierrybeaulieu4403 Рік тому

    I was drinking some water while listenning at the video. At 0:47, I spat all of the water at my monitor because I laugh so hard.

  • @krunalkathikar2154
    @krunalkathikar2154 3 місяці тому

    thanks for the explaination sir

  • @meer-uq4ns
    @meer-uq4ns 8 місяців тому

    I had a situation where I could not force push the changes after I fixed 5 commit conflicts which ended by one of the commit going missing as there was no difference. Maybe that's why force push didn't work. So I rebased pulled from my remote feature branch to my local branch and I had to fix things all over again and it was pretty different. After fixing conflicts now it has become crazy and full of other people's commits. I'm now thinking of creating a new branch from my current updated main branch then add my changes manually from my old feature branch since I don't want to deal with what's going on there it's messed up!

  • @alejandroperezrivas2397
    @alejandroperezrivas2397 3 роки тому +1

    thank you so much! finally i undestand this

  • @muhammadkashif-td7xn
    @muhammadkashif-td7xn Рік тому

    Very well explained!

  • @jeelim442
    @jeelim442 10 місяців тому

    The best one ever!

  • @b.c.w6735
    @b.c.w6735 Рік тому

    Thank you, this helped me a lot.

  • @h4m74ro
    @h4m74ro 2 роки тому

    This is the best video!

  • @gyros9162
    @gyros9162 2 роки тому +1

    Спасибо из Воронежа )

    • @teamprogrammer9650
      @teamprogrammer9650  2 роки тому

      Привет из Юты! О чем разговор, на здоровье ;)

  • @HavingFunWithAvyan
    @HavingFunWithAvyan 3 місяці тому

    This is when you made one change to the file.
    Sometimes we make multiple changes/commits on branch. When rebasing I get promoted to accept current or head changes. I accept and continue, then it ask me to do same in the next commit. Is this normal?

  • @slappy_chimp
    @slappy_chimp 2 місяці тому

    how would you go around having many commits.. as the rebase goes step by step.. you'll have to redo the same conflict resolution many times

  • @andressalazar9671
    @andressalazar9671 2 роки тому

    Thanks, this video was really helpful

  • @bmfitzgerald3
    @bmfitzgerald3 Рік тому

    Thanks for the excellent video. At 4:05, you say "I can resolve this conflict in here, but this would create a merge commit, and a better way to do it is use a git rebase." ... Would appreciate some clarification on exactly _why_ is it better to use git rebase here versus using the UI and creating a "merge commit."
    Also, at 4:20, you used git fetch. Would git pull have done the job here, or does it have to be fetch? Why?
    Thanks for any additional insight!

    • @eddiethehead7466
      @eddiethehead7466 Рік тому +1

      git pull is basically execution of git fetch and git merge in succession. So in a situation where you want to update your local branch with all the latest changes from remote but don't want git to initiate auto-merging, git fetch is your way.

    • @bmfitzgerald3
      @bmfitzgerald3 Рік тому

      @@eddiethehead7466 thanks Eddie!

  • @thekillercrab
    @thekillercrab 3 роки тому +1

    this was so useful! when is the interactive rebase vid coming?

    • @teamprogrammer9650
      @teamprogrammer9650  3 роки тому +1

      Hi @thekillercrab, thank you for kind words. Sorry, I’ve been inactive lately. Going to double down on a few new vids shortly - to give back to community!

  • @jsagar95
    @jsagar95 Рік тому

    Thanks!

  • @youtubeoneverything4581
    @youtubeoneverything4581 2 роки тому

    Thanks

  • @aliabdollahian1465
    @aliabdollahian1465 3 роки тому +1

    very helpful thank u :)

  • @SandraWantsCoke
    @SandraWantsCoke 5 місяців тому

    U menya vse ravno stoit "first resolve merge conflicts", which I of course did, I am not a beginner. Did it serveral times without luck, still the same error. Never used rebase and had to

  • @saschametz9018
    @saschametz9018 3 роки тому +2

    Always so scary when you don't know exactly what you're doing. Thank you for clearing that up for me in the future!

  • @tarankaranth8782
    @tarankaranth8782 2 роки тому

    great stuff ..thanks

  • @dhananjaysarsonia29
    @dhananjaysarsonia29 9 місяців тому +1

    Isn't force push a bad strategy?

    • @teamprogrammer9650
      @teamprogrammer9650  9 місяців тому +1

      It depends: if no one else checked out your feature branch - force pushing is not bad at all, you’re just overriding the state of the remote branch with your local state

    • @dhananjaysarsonia29
      @dhananjaysarsonia29 8 місяців тому

      @@teamprogrammer9650 got it, thanks.

  • @alperari9496
    @alperari9496 5 місяців тому

    0:47 must have hurt

  • @mbponche
    @mbponche Рік тому

    I did that but there is a loop

  • @dc33333
    @dc33333 Рік тому

    ribs hurt from laughing so hard

  • @etymology_
    @etymology_ 2 роки тому +1

    Did team programmer become a HR associate or something? There is not a next video, maybe he fell in the lake in Salt Lake City? RIP team programmer

    • @teamprogrammer9650
      @teamprogrammer9650  2 роки тому

      I'm so sorry! I had a new child born and things got out of whack. Planning to get back to it, with more jokes :)

  • @manabroy3036
    @manabroy3036 2 роки тому

    Thanks a lost.

    • @teamprogrammer9650
      @teamprogrammer9650  2 роки тому

      Yep, sorry, I'm lost for a while.... Planning to get back to it.

  • @machinima1402
    @machinima1402 6 місяців тому

    I feel like he is struggling to not blink horizontally

  • @konstantinrebrov675
    @konstantinrebrov675 2 роки тому +1

    This is not very helpful because it is a contrived example. I know the basics of how to resolve a merge conflict. I want to see practical examples of resolving merge conflicts. If for example you rebase one branch on top of your other branch, and you have merge conflicts, with duplicated work, how to solve it?

    • @teamprogrammer9650
      @teamprogrammer9650  2 роки тому

      The example is simplified indeed, but the concept in the same: if you have duplicated work in 2 branches and you're trying to rebase one on top of the other: you'll get the same "social markup" in your files with conflicts and you're still responsible for resolving them manually. Sometimes it is not obvious which code changes to keep, so typically both developers hop on a Zoom call and hash it out together.
      Thanks for the feedback! I might record a video of a "REAL" conflict resolution from my work - if I have a particularly tough one :)