Advanced Git Tutorial - Interactive Rebase, Cherry-Picking, Reflog, Submodules and more

  Рет қаралды 245,830

freeCodeCamp.org

freeCodeCamp.org

Күн бұрын

Git has so much more to offer than just "commit, pull, push"! Its advanced tools can help you become more productive and professional with your code base. We're going to look at concepts like Interactive Rebase, Cherry-Picking, and Submodules to get you one step closer on your journey to mastering Git!
✏️ This course was created by Tobias Günther from Tower. Tower creates a powerful Git desktop GUI for Mac and Windows. You can download it here: www.git-tower.com
Note: This course focuses on using Git with the command line. You do NOT need Tower or any other GUI software to follow along.
⭐️ Course Contents ⭐️
⌨️ (00:00) Introduction
⌨️ (00:51) Hosted by Tower
⌨️ (01:23) Interactive Rebase
⌨️ (08:54) Cherry-Picking
⌨️ (12:10) Reflog
⌨️ (18:42) Submodules
⌨️ (29:30) Search & Find
⌨️ (33:26) The Advanced Git Kit: a collection of short videos about interesting Git topics like Submodules, Interactive Rebase, Cherry-Picking... free to download (www.bit.ly/advanced-git-kit)
🎉 Thanks to our Champion and Sponsor supporters:
👾 Raymond Odero
👾 Agustín Kussrow
👾 aldo ferretti
👾 Otis Morgan
👾 DeezMaster
--
Learn to code for free and get a developer job: www.freecodecamp.org
Read hundreds of articles on programming: freecodecamp.org/news

Пікірлер: 123
@xcan8872
@xcan8872 2 жыл бұрын
This is like an ASMR video for programmers
@ricardotrejoruiz5776
@ricardotrejoruiz5776 2 жыл бұрын
thats true man, bring me a lot of piece knowing how can I save the day after the panic comes up jajaj
@marcello4258
@marcello4258 2 жыл бұрын
@@ricardotrejoruiz5776 siiiiiii jajaja
@nathanyang3288
@nathanyang3288 2 жыл бұрын
LOL
@saqlainalvi5485
@saqlainalvi5485 Жыл бұрын
@@marcello4258 siii jaja indeed
@khanfaizan05
@khanfaizan05 3 ай бұрын
So true😂😂
@sshanit
@sshanit 2 жыл бұрын
Clear explanation with practical examples. Thank you!
@rionaldy
@rionaldy 2 жыл бұрын
Nice video! The cherrypick command has definitely been a lifesaver for me a few times
@P0cketfull0fsunshine
@P0cketfull0fsunshine 2 жыл бұрын
Fantastic video, really helped me out. The fact that Tobias sounds exactly like Christoph Waltz is the cherry on top
@marioestrada2233
@marioestrada2233 2 жыл бұрын
This guy makes the best git tutorials!! Thanks tons!!!
@devbites77
@devbites77 Жыл бұрын
Wonderfully explained. Really clear and useful examples.
@sofiaborovskaia3714
@sofiaborovskaia3714 Жыл бұрын
This was very helpful, so well explained. Thank you!
@iAmTheWagon
@iAmTheWagon 2 жыл бұрын
Exactly what I needed to see. Thank you so much.
@ahmedalhallag3338
@ahmedalhallag3338 2 жыл бұрын
I was just revising these concepts. Thank you!
@HaouasLeDocteur
@HaouasLeDocteur Жыл бұрын
such a wonderful instructor.
@jithintc4200
@jithintc4200 2 жыл бұрын
I was actually looking for a good git course. Thank you !
@nechetv6268
@nechetv6268 2 жыл бұрын
@freecodecamp Please I registered online but I have a question do you guy have a student group chat please, I what to join
@kishr4u1
@kishr4u1 2 жыл бұрын
good one to learn and refresh some advanced concepts with decent practical examples.. better try it as he explains
@behruzisaev2102
@behruzisaev2102 Жыл бұрын
Very well explained. Thanks a ton!
@hamedsedaghat965
@hamedsedaghat965 2 жыл бұрын
That was very usful and also easy to understand thank you a million
@mumk
@mumk Ай бұрын
interactive rebase is so cool
@rohantaneja
@rohantaneja 2 жыл бұрын
Great content! So polished 👌🏼
@osvaldoaguilarlauzurique8025
@osvaldoaguilarlauzurique8025 2 жыл бұрын
Best git video on internet, thank you so much.
@RamsesYT
@RamsesYT Жыл бұрын
This is a very educational video, Tobias, thanks from Amsterdam! 🎉😊
@OggVorbis69
@OggVorbis69 7 ай бұрын
I really appreciate the videos on this channel. Big fan, love to try the problems and then come here to see did we come up with the same solution.
@ShahzadAli-fr1uy
@ShahzadAli-fr1uy 2 жыл бұрын
This is really helpful content, Thank you!
@orafasistemas
@orafasistemas Жыл бұрын
Watched twice.... could not believe I've understood so easily... Thank you for sharing this content.
@noob78
@noob78 6 күн бұрын
Lol
@nneddenn6207
@nneddenn6207 6 ай бұрын
Thanks guys, it was really helpful and informative! Really nice content!
@navyapramod5612
@navyapramod5612 2 жыл бұрын
One of the best git tutorials
@BBuckB
@BBuckB 2 жыл бұрын
Awesome content! Thank you!
@diegocl02
@diegocl02 2 жыл бұрын
This is really helpful, thanks!
@madhousenetwork7765
@madhousenetwork7765 2 жыл бұрын
Thank you for this. this is too good
@yonatankaplonov9616
@yonatankaplonov9616 11 ай бұрын
best video I've seen so far thank you!
@nadeemahmed7947
@nadeemahmed7947 2 жыл бұрын
thank you so much it's very helpful, I learn a lot from this video
@BeingHumanInSouthAfrica
@BeingHumanInSouthAfrica 2 жыл бұрын
I love the merging of commits, especially when one is doing a long term development and then needs to cherry pick to the develop branch. One can do all the merges on the branch and then the Merge Master Person can do the merge to develop or Master branches. I love software development, because it is so safe and easy to have a happy-ending. I had a good laugh. Thanks.
@Winter_Wyvern1
@Winter_Wyvern1 Жыл бұрын
what
@Winter_Wyvern1
@Winter_Wyvern1 Жыл бұрын
nevermind, watched the video and got it 🤣
@PradeepSamuelRocks
@PradeepSamuelRocks 8 ай бұрын
Very well explained !! Thank you !!
@archananegi9647
@archananegi9647 Жыл бұрын
Best git learning video ever.I am wondering why couldn’t I watch this earlier
@usmanpervaiz2043
@usmanpervaiz2043 7 ай бұрын
Really Great Video 🚀
@philipoakley5498
@philipoakley5498 2 жыл бұрын
You can push an updated history (see rebase warning) to a *personal fork*, and it's probably a good policy if it provides a local backup. Just make sure that, even if it's public to the team, that folks don't assume immutability of your fork's branch...
@HoangTMOFFICIAL
@HoangTMOFFICIAL Жыл бұрын
Very well explained. Thanks
@thesavithaheshanoffi
@thesavithaheshanoffi 2 жыл бұрын
the best channel i found in whole yt
@ahmadhassan8560
@ahmadhassan8560 9 ай бұрын
great stuff, really appreciate the content.
@andygr1n1
@andygr1n1 2 жыл бұрын
Thank you, very useful
@kovid.rathee
@kovid.rathee 2 жыл бұрын
This is fantastic!
@tech-wandeveloper7495
@tech-wandeveloper7495 2 жыл бұрын
Nice, thank you!
@cw3dv
@cw3dv 2 жыл бұрын
damn!! this is soooo coool!! very helpful, thank u so much ☺
@alikaraki4929
@alikaraki4929 Жыл бұрын
what a great video! thank you
@senkogaming4784
@senkogaming4784 2 жыл бұрын
Really great video! I've learned ton of things on this channel. Also his voice makes it more relaxing and understandable. It would be nice if you did a Python's AsyncIO-related course though. I'm sure enough that a lot of people will find it helpful.
@TheMsksk
@TheMsksk 2 жыл бұрын
It certainly would be!
@MrStarcraftangle
@MrStarcraftangle Жыл бұрын
I find REFLOG very useful. TIL. Thanks!
@tuananhtran4544
@tuananhtran4544 2 жыл бұрын
thank u for this good course
@khomo12
@khomo12 7 ай бұрын
Very, very good!!👍👍Thank you!
@qiweiliu5410
@qiweiliu5410 2 жыл бұрын
it is really amazing that git reflog can undo git reset
@bestchoice7431
@bestchoice7431 10 ай бұрын
Very well explained.
@ks.749
@ks.749 2 жыл бұрын
Thank you so much Mr.jobs
@amortalbeing
@amortalbeing Жыл бұрын
This was great thanks.
@prathameshsagvekar6696
@prathameshsagvekar6696 2 жыл бұрын
thanks again, tried all the concept. #thankyou. (still have some doubts on submodule)
@mycollegeLife.
@mycollegeLife. 5 ай бұрын
This man is founder of TOWER.
@dunezoop
@dunezoop Жыл бұрын
Thanks Cristoph Waltz!
@Whatever0704
@Whatever0704 Ай бұрын
I would also mention one very important feature of rebase... that you are re-basing your feature branch on the latest/tip from the master branch. This can avoid many merge conflicts. I would very often pull, rebase, validate my code, squash and merge
@peterhyperaung
@peterhyperaung 2 жыл бұрын
wow GOTTA learn this too! -,-
@ujjawal6660
@ujjawal6660 2 жыл бұрын
Thank you!!!!
@jose6183
@jose6183 2 жыл бұрын
Your accent reminds me of Christoph Waltz. Very cool video, thank you!
@alberteinstein7231
@alberteinstein7231 2 жыл бұрын
thank you
@javascript_developer
@javascript_developer Жыл бұрын
awesome. Thanks
@lakhveerchahal
@lakhveerchahal Жыл бұрын
That's very helpful
@yehudacorsia3323
@yehudacorsia3323 Жыл бұрын
Thanks!
@trianglesupreme
@trianglesupreme 2 жыл бұрын
I suggest to use *gitk* side by side while following the tutorial to understand the things in-depth.
@istvan368
@istvan368 2 жыл бұрын
thanks a lot :)
@JagdeepSing49
@JagdeepSing49 2 жыл бұрын
good content nicely presented
@rodrigodiazf2147
@rodrigodiazf2147 2 жыл бұрын
thank you alot
@And1997Ruz
@And1997Ruz Жыл бұрын
Great content, just the interactive rebase by itself would've been enough to make a great video. But wait, there's more?... Really good stuff
@navedshaikh8375
@navedshaikh8375 Жыл бұрын
Great explanation with live examples, everyone please hit like on this video and comment
@knutblaise9437
@knutblaise9437 2 жыл бұрын
Do you have any videos or resources on Linux distro repositories? I'd like to understand how access control and the documenting of code reviews for Linux distro repositories is handled before moving to Linux.
@rasoihamariorapki4867
@rasoihamariorapki4867 2 жыл бұрын
That is good
@gopsda
@gopsda 2 жыл бұрын
Thanks for the demo git session. Very informative. @7:50, I noticed that you wanted to combine 3rd and 4th, instead combined 2nd and 3rd. it doesn't matter as this is a demo to show how to combine two commits. just an observation...
@DavidLindes
@DavidLindes 2 жыл бұрын
Hmm, I don't think you're correct here? It seems to me that this combined 2b504be (was HEAD~3, "Change headlines...") with eb972b4 (was HEAD~2, "Optimize...") into 59505fd (new commit, newly HEAD~2, "Combine..."), which is followed by 4376d4d (nee 2d42208, aka HEAD~1 in both trees, "Change the page...") and _ (nee ce22112, aka HEAD in both, "Improve headline..."). Which matches 6:51 (though I could see potential confusion in the opposite direction from cursor position at 6:48...).... ?
@gopsda
@gopsda 2 жыл бұрын
@@DavidLindes Sorry, my bad. I was looking at the lines only. I noticed that these lines are listed in the reverse order in the git log --oneline, with Headline appearing first. Thanks for correcting me. It makes sense now.
@DavidLindes
@DavidLindes 2 жыл бұрын
@@gopsda Ah, yeah, they do show up in opposite order between those two views, so that makes sense! And, gladly done. I'm glad it landed well. Thanks for the response.
@CBMM_
@CBMM_ 2 ай бұрын
Thanks a lot! at 26:00 What is --recursive tag for? and do we do the same just without --init for next times that we want to pull submodules?
@LordSplynter
@LordSplynter 2 жыл бұрын
Like my stats teacher told me, "you can know how to program in every single programming language, but if you dont know Git and how to use it, you are screwed"
@DyslexicMitochondria
@DyslexicMitochondria 2 жыл бұрын
Yupppp
@tomhappening
@tomhappening 2 жыл бұрын
@@DyslexicMitochondria your username made me click on your profile. Your channel is a hidden gem bro
@pol165
@pol165 2 жыл бұрын
This channel should actually be the most pupular education channel. I feel like people spend a lot of time watching stupid videos on youtube like some populare gamers or idk. If they spend the time learning something good, they will actually get new skills
@vijaykanth9980
@vijaykanth9980 2 жыл бұрын
Hi sir, please do a full video on Azure Terrafrom
@user-dn7yl7ms1u
@user-dn7yl7ms1u 8 ай бұрын
So at the point where squash was used (8:18) instead of deleting the two messages writing one above them is the way to create on single message? Because according to the instructions anything not starting with '#' will remain?
@ijazali9736
@ijazali9736 2 жыл бұрын
Can we directly push our project code to our server and update it there, instead of pushing it github and then updating from there? Thanks
@TorreyBraman
@TorreyBraman 2 жыл бұрын
I
@declanmcardle
@declanmcardle 2 жыл бұрын
In the first section #1. This is on a local branch? Not master/main? Can you "reword" a commit message on something already merged to master/main? [I'll watch the rest first...]
@source8093
@source8093 2 жыл бұрын
How about configurating apache with php/js/etc?
@atchutram9894
@atchutram9894 5 ай бұрын
At 2:41 he says, 'Do NOT use Interactive Rebase on commits that you've already pushed/shared to a remote repository'. But subsequently, he goes ahead to change the commits that are in 'origin' repo. What am I missing?
@nikoman71326
@nikoman71326 Жыл бұрын
what if the editor window is not popping up after git rebase -i HEAD~2? content opens in the terminal where it is uneditable. Thanks
@tsdineshjai8565
@tsdineshjai8565 Жыл бұрын
Someone kindly let me know how to go back to screen after we change the pick to reword/squash in gitbash. I am trying to press enter as mentioned in the tutorial, its not working for me.
@dj_mk_crazy
@dj_mk_crazy 2 ай бұрын
26:03 I typed `git submodule update --init --recursive` on the same cloned repo but nothing happened. Actually nothing happens if I type any submodule command. Also, the `--recurse-submodules` clone option does not update the submodules neither... What am I missing? 🤔
@frayy5953
@frayy5953 2 жыл бұрын
Hey, just want to ask… Should i download ubuntu terminal for windows or should i use powershell terminal?
@zereko8638
@zereko8638 2 жыл бұрын
ubuntu terminal
@senkogaming4784
@senkogaming4784 2 жыл бұрын
whatever works for you, if you don't really care about padding, fonts and colors, then stick with what you are already with. Although I think that Windows already has a GUI if you ever want to tweak something.
@dark9615
@dark9615 2 жыл бұрын
YOU ALL ARE GODS.............
@Aba9846
@Aba9846 2 жыл бұрын
A bit too late for me, had to implement cherry picking earlier today for the first time lol
@azir8930
@azir8930 Жыл бұрын
❤‍🔥
@ricardotrejoruiz5776
@ricardotrejoruiz5776 2 жыл бұрын
awsome, biutiful
@AshrafMMA
@AshrafMMA 2 жыл бұрын
👌
@Neolisk
@Neolisk 2 жыл бұрын
That's why you always create a new branch before reset.
@vladimirfokow6420
@vladimirfokow6420 11 ай бұрын
👍
@animarain
@animarain 7 ай бұрын
It's funny that half the commands of git are not there for every day use but for those "oops, I f*cked up" moments. 😛
@bhagyalakshmi1053
@bhagyalakshmi1053 Жыл бұрын
Letter also small I will collect in further laptop and TV
@gouravnainwaya5669
@gouravnainwaya5669 2 жыл бұрын
Bro make react native
@pfbrodriguez
@pfbrodriguez Жыл бұрын
if you are the reflog creator, I owe you a beer
@technomad9071
@technomad9071 2 ай бұрын
no linux verison of tower :(
@Apprenticer
@Apprenticer Жыл бұрын
Happy-ending
@hazartilirot1014
@hazartilirot1014 2 жыл бұрын
Well, I liked the video though Tobias could've provided a repo so that people would clone it and put their hands-on practising with examples. It's easier to remember when you work yourself.
@erikawwad7653
@erikawwad7653 2 жыл бұрын
just remember the use case and google it. he was very kind to use his time to educate
@hazartilirot1014
@hazartilirot1014 2 жыл бұрын
@@erikawwad7653 Oh dear, I thought he was advertising Tower in a channel with 4,5 million subscribers. Thank you for clarifying. He's indeed! Dunno how others... I need to repeat a dozen of times before it instils in my memory. Better if there are numerous examples. Hopefully I've got Mosh's course and raywenderlich books. Practice makes perfect. ;)
@jpandlexiwilliams1838
@jpandlexiwilliams1838 2 жыл бұрын
First
@jairciezadiaz7456
@jairciezadiaz7456 2 жыл бұрын
A
@tokoanyar8787
@tokoanyar8787 2 жыл бұрын
Steve Jobs
How to be a git expert
46:26
Floating Little Leaves of Code
Рет қаралды 144 М.
A pack of chips with a surprise 🤣😍❤️ #demariki
00:14
Demariki
Рет қаралды 30 МЛН
Programming Is NOT Enough | Add these 7 skills…
13:19
Travis Media
Рет қаралды 411 М.
So You Think You Know Git - FOSDEM 2024
47:00
GitButler
Рет қаралды 983 М.
13 Advanced (but useful) Git Techniques and Shortcuts
8:07
Fireship
Рет қаралды 888 М.
Git MERGE vs REBASE: The Definitive Guide
9:39
The Modern Coder
Рет қаралды 79 М.
Everything You'll Need to Know About Git with ThePrimeagen | Preview
14:43
Git Tutorial For Dummies
19:25
Nick White
Рет қаралды 1 МЛН
Creative AI Video Upscaling Will Blow Your Mind!
12:35
Theoretically Media
Рет қаралды 13 М.
How GitHub Actions 10x my productivity
8:18
Beyond Fireship
Рет қаралды 386 М.
Git Tutorial for Beginners: Learn Git in 1 Hour
1:09:13
Programming with Mosh
Рет қаралды 2,3 МЛН