The Modern Coder

The Modern Coder

Professional programming videos

My name is Jack Lot Raghav. I attended the University of Maryland where I graduated with a bachelors degree in Computer Science. Since then I’ve gathered experience in the tech industry, both as a software engineer and people manager. My longest stint was at Amazon for a total tenure of just over 6 years where I had the opportunity to work across both the Amazon retail and AWS businesses.

Over the years I've had the opportunity to mentor many engineers, and learned a lot about the business of building software inside of complex, global environments. My goal with this channel is to spark the same kind of excitement and enthusiasm that I had for the tech industry when I was first getting started. I appreciate you taking the time to watch my videos.

I’m making a big bet…

I’m making a big bet…

My toughest project yet

My toughest project yet

Delete Git Commits Tutorial

Delete Git Commits Tutorial

Coding ability is overrated

Coding ability is overrated

Git STASH Tutorial

Git STASH Tutorial

Git CHERRY PICK Tutorial

Git CHERRY PICK Tutorial

My NYC coding setup

My NYC coding setup

Пікірлер

  • @deveshgarg
    @deveshgarg13 сағат бұрын

    At 5:06, I didn't get the idea why we checked out to feature branch for rebase to work. Aren't we actually doing it as following: "Change the base of your feature branch to the latest commit (head) of the master branch"..? I'm a bit confused here, pls help.

  • @themoderncoder
    @themoderncoder9 сағат бұрын

    Rebase can only operate on the checked out branch (this is a weird nuance of the Git architecture). Technically, you could run “git rebase master feature” without checking out the feature branch first and this would complete the rebase in the same way you see in the video at 5:06; however, “git rebase master feature” is just shorthand for “git checkout feature” followed by “git rebase master” so either way you’re checking out the feature branch

  • @mehdizahedi2810
    @mehdizahedi2810Күн бұрын

    Your videos are an absolute gem. Thank you

  • @christiansmyth1466
    @christiansmyth1466Күн бұрын

    Linus Torvalds and Ada Lovelace. You have friends in high places 🙂

  • @christiansmyth1466
    @christiansmyth1466Күн бұрын

    3:09 You lost the instagram_username line from the bugfix commit LOL.

  • @devtommie114
    @devtommie114Күн бұрын

    Beast video! Thanks.. I just got my new mac today and this video helped alot!

  • @themoderncoder
    @themoderncoderКүн бұрын

    True - new laptop day is so sweet. Going from the basic terminal to one you’ve spec’d out is such a night and day difference.

  • @Tmartinez114
    @Tmartinez114Күн бұрын

    Yeah I guess on my windows the gitbash did it automatically so this helped a ton

  • @carlosmillanmazzucco1766
    @carlosmillanmazzucco17662 күн бұрын

    dude! so envy about the city, nice content tanks a lot for sharing

  • @fernandolordao2
    @fernandolordao22 күн бұрын

    Great class! Thank you!🙏🏼

  • @daedracrab1210
    @daedracrab12102 күн бұрын

    this is so helpful, thanks man

  • @abdelazizez-zahed5009
    @abdelazizez-zahed50093 күн бұрын

    gooog

  • @lemonteateacup
    @lemonteateacup4 күн бұрын

    6 years later and this is still an amazing video! Super clear and intuitive, thank you!

  • @MrVipulLal
    @MrVipulLal4 күн бұрын

    Nice format. Thanks

  • @TheKaosTux
    @TheKaosTux4 күн бұрын

    git config --global rerere.enabled true git config --global pull.rebase true That’s the way

  • @irvanhardyanto7038
    @irvanhardyanto70384 күн бұрын

    Nice explanation, thankyou

  • @thibautizard
    @thibautizard5 күн бұрын

    Crystal clear ! I'm glad I've found your channel and eager to discover more

  • @themoderncoder
    @themoderncoder5 күн бұрын

    Definitely check out my other videos - there is a ton more there!

  • @Matt-pd2cq
    @Matt-pd2cq5 күн бұрын

    Excellent explanation and a nice, clean video. Well done. Subbed

  • @dayasagarpatil
    @dayasagarpatil5 күн бұрын

    Excellent videos, have been using git but I had lot of confusion about many basic concepts, luck i came across your videos with very crisp explanation with awesome graphical representation which makes it very easy to understand. Keep up the good work, looking forward for more informative videos..

  • @themoderncoder
    @themoderncoder5 күн бұрын

    Appreciate you saying that! If you're looking for something new, my video on fetching/pulling (kzread.info/dash/bejne/hmVnyaZ7iMTYmpM.html) is essentially a follow up to this one.

  • @vasudevans948
    @vasudevans9486 күн бұрын

    SUPERB... Video. Crisp and upto the point. Nugget sized videos - addressing specific topics THANK YOU SO MUCH This video saved me a lot of reading and researching time

  • @themoderncoder
    @themoderncoder6 күн бұрын

    Awesome, thanks for taking the time to leave a comment. These videos (and especially my new ones) take an insane amount of time/effort to produce, so it's nice to know they're helping!

  • @darkphoenix68
    @darkphoenix686 күн бұрын

    I came to Git from SVN -- and the ability to modify history was probably the hardest thing to wrap my head around. Not only that it was possible, but that there were situations where it is actually desirable! Now ... well, I could not go back to SVN! 🙂

  • @nageshvagicharla
    @nageshvagicharla7 күн бұрын

    Thank you, till now I faced difficulty about cherry picking, but after watching this video it made completely sense. Thanks again.

  • @luiscarlosjayk
    @luiscarlosjayk7 күн бұрын

    How do you make such beautiful animated presentations?

  • @themoderncoder
    @themoderncoder7 күн бұрын

    I use a combination of Apple Motion and keyframe animation in Final Cut Pro!

  • @luiscarlosjayk
    @luiscarlosjayk7 күн бұрын

    @@themoderncoder The final result is awesome, because you don't leave explanation to be abstracted in people's mind but give a visual representation of what actually happens, so it's easier to understand. Great content!

  • @agenticmark
    @agenticmark7 күн бұрын

    Hoping I see you point out rebase leaves a clean tree, merge creates new commits.

  • @agenticmark
    @agenticmark7 күн бұрын

    Yep you nailed it. Great video man!

  • @kevanbarter
    @kevanbarter8 күн бұрын

    I always merge latest from main/dev branch into my feature branches, so my feature branches always up to date. Then PR into main/dev branch when I’m done with a feature

  • @vacances-en-famille
    @vacances-en-famille8 күн бұрын

    Nice edit and animation

  • @TheRocreex
    @TheRocreex8 күн бұрын

    To clarify a common misconception: A "tree" in the context of Git does not refer to a commit history (because that is not in fact a tree in the mathematical sense due to merges, actually it's a DAG) but it refers to a snapshot of the repo, i.e. the content of a commit and therefore a filesystem tree. That might be important to know so not to get confused when reading the Git docs and learning about the Git working tree.

  • @user-oj9iz4vb4q
    @user-oj9iz4vb4q9 күн бұрын

    It's simple, never fucking rebase. The very concept of rebasing is fundamentally flawed and only used by damaged OCD people.

  • @maximodakila2873
    @maximodakila28736 күн бұрын

    is the f word really necessary? 😂

  • @user-oj9iz4vb4q
    @user-oj9iz4vb4q6 күн бұрын

    @@maximodakila2873 absofuckinglutly

  • @mxsniper223
    @mxsniper2239 күн бұрын

    شكرا جزيلا .. thanks' a lot man

  • @DavidPashley
    @DavidPashley10 күн бұрын

    I think you may have an incorrect mental model of vim. The escape is not part of the quit command. The default mode in vim is the command mode. i puts you into insert mode and escape leaves insert mode and returns you to command mode. Colon moves you to another mode: ex mode where you can type ex commands. The ex command you're using in this situation is wq. If you're using escape before quitting even when in command mode, then it suggests you're not thinking of insert mode as something you dip in and out of before returning to the steady state of command mode and possibly missing out on the incredible power of command mode.

  • @themoderncoder
    @themoderncoder9 күн бұрын

    Your comment is a nice, succinct explanation of what I glossed over in the video. It seemed more approachable to gloss over vim modes to make sure folks could save & close a file without knowing which mode they were in. I'll admit my vim knowledge beyond simple commands is limited, I remember first starting out watching senior devs fly through code in vim, and being very jealous. Hopefully one of these days I'll find the time to up my skills!

  • @DavidPashley
    @DavidPashley9 күн бұрын

    @@themoderncoder Yep, vim is complicated, mostly because it's very different from almost any other editor that just lets you type and go. It's not helped that it's built on top of a very limited editor designed for teletypes (ed and then ex) When I was starting out, I had the same misunderstanding of vi, but someone much smarter than me gently corrected me and I became much more fluent.

  • @UTube2K6
    @UTube2K610 күн бұрын

    9:15

  • @coreC..
    @coreC..10 күн бұрын

    This is a clear explanation. Very good.

  • @sarvanisah2746
    @sarvanisah274610 күн бұрын

    if we are using vi config.yml for vim ide , what command we will use for vs code ide?

  • @themoderncoder
    @themoderncoder10 күн бұрын

    If you use VS Code you can either open config.yml manually via the file explorer or (if you've configured VS Code to be able to launch from the command line code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line) you could type "code config.yml"

  • @rezakaaccount
    @rezakaaccount10 күн бұрын

    Production quality is remarkable.

  • @mehdizahedi2810
    @mehdizahedi281011 күн бұрын

    Fantastic explanation, resolved all my confusion about merging. Thanks

  • @kaibe5241
    @kaibe524111 күн бұрын

    This isn't even close to being definitive... It skips over so many features that git provides for managing conflicts.

  • @CristianHeredia0
    @CristianHeredia011 күн бұрын

    Great content! What are you using to make slides?

  • @themoderncoder
    @themoderncoder11 күн бұрын

    I use Apple Motion to create the animations. Then stitch all the animations together with Final Cut. It’s a bit of a manual process unfortunately - these videos take me a very very long time to make lol

  • @davidpaez_co
    @davidpaez_co11 күн бұрын

    This is honestly the best git course in all KZread. Thank you so much!

  • @himanshutripathi5735
    @himanshutripathi573511 күн бұрын

    So we merge after rebase? just rebase and push is bad practise? Please clarify. Thanks!

  • @themoderncoder
    @themoderncoder11 күн бұрын

    Generally yes. This video should clear your question up kzread.info/dash/bejne/rIOi2cmxmaaWf6Q.htmlsi=jsqtiCaVkMr2WBLr

  • @azolee
    @azolee12 күн бұрын

    in my almost 15 year of using Git, this is by far the best video on how to use merge and rebase. thank you!

  • @themoderncoder
    @themoderncoder12 күн бұрын

    Really appreciate you saying that. It means a lot coming from someone like you with so much experience. If you have a chance to share this video with someone who might benefit, please do. Cheers!

  • @azolee
    @azolee12 күн бұрын

    @@themoderncoder already did it :)

  • @edgarlip2
    @edgarlip212 күн бұрын

    very cool , thank you !!!

  • @davidgood840
    @davidgood84012 күн бұрын

    As a single dev , I only ever use rebase amd NEVER merge just to keep the history strictly linear , however this is a luxury that larger teams might not have . The tip about only using rebase for your own local work is 100% the right way to use it , imo .

  • @daymenpasick7825
    @daymenpasick782514 күн бұрын

    My guy at the very beginning when you described git pull as being a combination of fetch and merge...it already instantly clicked for me xD thank you!

  • @EzMC2
    @EzMC214 күн бұрын

    Nicely done, thanks my dude.

  • @yssplays2620
    @yssplays262015 күн бұрын

    new subscriber. best explain very very very nice

  • @themoderncoder
    @themoderncoder15 күн бұрын

    Thank you so much 🙂

  • @SalvadorAguilar
    @SalvadorAguilar18 күн бұрын

    Thank you a lot for this brother!

  • @themoderncoder
    @themoderncoder18 күн бұрын

    For sure, glad it was helpful. If you know anyone else who would benefit, please share a link!

  • @tarsala1995
    @tarsala199520 күн бұрын

    I always squash and never allow teammates to work on my branch. This way you maintain main branch clean with only feature commits and avoid conflicts with teammate locally. The only use case I had was when I was introducing a big feature >100 files and split my PR into 6, then I was rebasing branches in order of building block of the feature, where last branch was rebased into main feature branch after reviews of my peers.

  • @themoderncoder
    @themoderncoder20 күн бұрын

    This a good anecdote for folks - in the real world sharing branches is not very common and workflows like you describe are more the norm.

  • @jojje3000-1
    @jojje3000-120 күн бұрын

    Git mergetool is also useful

  • @ekchills6948
    @ekchills694820 күн бұрын

    Best explanation

  • @fouadchahd2969
    @fouadchahd296920 күн бұрын

    Please can u provide commads also

  • @themoderncoder
    @themoderncoder20 күн бұрын

    This is the video you’re looking for: Git MERGE vs REBASE: The Definitive Guide kzread.info/dash/bejne/rIOi2cmxmaaWf6Q.html

  • @RakeshKumar-tu6bi
    @RakeshKumar-tu6bi22 күн бұрын

    perfect

  • @porchmail
    @porchmail23 күн бұрын

    Truly appreciate! This is one of the best IT tutorial videos that I’ve ever seen!

  • @subramanyakrishnamurthy8352
    @subramanyakrishnamurthy835223 күн бұрын

    "No nonsense, just get to the point" videos. Very easy to follow and much appreciated!!