Advanced Git Tutorial - Interactive Rebase, Cherry-Picking, Reflog, Submodules and more
Вставка
- Опубліковано 8 лип 2024
- 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
This is like an ASMR video for programmers
thats true man, bring me a lot of piece knowing how can I save the day after the panic comes up jajaj
@@ricardotrejoruiz5776 siiiiiii jajaja
LOL
@@marcello4258 siii jaja indeed
So true😂😂
Clear explanation with practical examples. Thank you!
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.
Fantastic video, really helped me out. The fact that Tobias sounds exactly like Christoph Waltz is the cherry on top
Nice video! The cherrypick command has definitely been a lifesaver for me a few times
This guy makes the best git tutorials!! Thanks tons!!!
Best git video on internet, thank you so much.
such a wonderful instructor.
Wonderfully explained. Really clear and useful examples.
Exactly what I needed to see. Thank you so much.
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...
One of the best git tutorials
This was very helpful, so well explained. Thank you!
I was just revising these concepts. Thank you!
This is a very educational video, Tobias, thanks from Amsterdam! 🎉😊
best video I've seen so far thank you!
good one to learn and refresh some advanced concepts with decent practical examples.. better try it as he explains
Very well explained. Thanks a ton!
I was actually looking for a good git course. Thank you !
@freecodecamp
Please I registered online but I have a question do you guy have a student group chat please, I what to join
Great content! So polished 👌🏼
Watched twice.... could not believe I've understood so easily... Thank you for sharing this content.
Lol
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.
the best channel i found in whole yt
Thanks guys, it was really helpful and informative! Really nice content!
That was very usful and also easy to understand thank you a million
Very well explained !! Thank you !!
Best git learning video ever.I am wondering why couldn’t I watch this earlier
Awesome content! Thank you!
This is really helpful content, Thank you!
Very well explained. Thanks
This is really helpful, thanks!
This is fantastic!
Very, very good!!👍👍Thank you!
great stuff, really appreciate the content.
Thank you for this. this is too good
Very well explained.
Thank you so much Mr.jobs
Nice, thank you!
Thanks Cristoph Waltz!
what a great video! thank you
interactive rebase is so cool
Thank you, very useful
This was great thanks.
thank you so much it's very helpful, I learn a lot from this video
damn!! this is soooo coool!! very helpful, thank u so much ☺
Really Great Video 🚀
awesome. Thanks
thank u for this good course
I find REFLOG very useful. TIL. Thanks!
it is really amazing that git reflog can undo git reset
Thanks!
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
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.
It certainly would be!
wow GOTTA learn this too! -,-
Thank you!!!!
I suggest to use *gitk* side by side while following the tutorial to understand the things in-depth.
That's very helpful
thank you
thanks again, tried all the concept. #thankyou. (still have some doubts on submodule)
good content nicely presented
Your accent reminds me of Christoph Waltz. Very cool video, thank you!
thanks a lot :)
thank you alot
Great explanation with live examples, everyone please hit like on this video and comment
This man is founder of TOWER.
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
That is good
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.
Hi sir, please do a full video on Azure Terrafrom
I
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...
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...).... ?
@@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.
@@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.
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
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?
YOU ALL ARE GODS.............
awsome, biutiful
A bit too late for me, had to implement cherry picking earlier today for the first time lol
How about configurating apache with php/js/etc?
❤🔥
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?
👌
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
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...]
That's why you always create a new branch before reset.
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"
Yupppp
@@DyslexicMitochondria your username made me click on your profile. Your channel is a hidden gem bro
Hey, just want to ask… Should i download ubuntu terminal for windows or should i use powershell terminal?
ubuntu terminal
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.
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. 😛
👍
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
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? 🤔
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.
Letter also small I will collect in further laptop and TV
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?
Bro make react native
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.
just remember the use case and google it. he was very kind to use his time to educate
@@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. ;)
Happy-ending
no linux verison of tower :(
if you are the reflog creator, I owe you a beer
A
First
Steve Jobs