- 50
- 336 539
Brief
Приєднався 2 вер 2014
Awesome tutorials about Programming, Git, Computer Networks, Computer Science and more.
Twitter: @Omer_Ros
Facebook: briefchannel
Twitter: @Omer_Ros
Facebook: briefchannel
Git Bisect
In this video we understand the super powerful tool - git bisect.
If you want to play around with the repository I used and try out the commands for yourself - you can get the repo here:
github.com/Omerr/bisect-exercise
======================
📕 My book "Gitting Things Done" is officially out!
Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5
As an eBook: www.buymeacoffee.com/omerr/e/197232
Or read it for free at:
www.freecodecamp.org/news/gitting-things-done-book/
======================
☕☕☕ Support this channel:
My mission is to create free, accessible, visual and practical tutorials. If you would like to support me on this, you can buy me a coffee :)
www.buymeacoffee.com/omerr
Thank you!!
======================
======================
How do I make videos?
I often get questions about the tools I use to create Videos - so here they are :)
(When available, I may use affiliate links and may earn a commission, with NO additional cost to you)
To create the hand-drawn animations, I use VideoScribe: www.awin1.com/cread.php?awinm...
I edit using Descript: www.descript.com/?lmref=Ux4_CA
Creating video thumbnails: snappa.com/?afmc=3uh
Microphone: Yeti Blue: amzn.to/3QydgtP
Drawing: Wacom Intuos: amzn.to/3pyRXwh
======================
Video created by Omer Rosenbaum. All rights reserved.
If you want to play around with the repository I used and try out the commands for yourself - you can get the repo here:
github.com/Omerr/bisect-exercise
======================
📕 My book "Gitting Things Done" is officially out!
Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5
As an eBook: www.buymeacoffee.com/omerr/e/197232
Or read it for free at:
www.freecodecamp.org/news/gitting-things-done-book/
======================
☕☕☕ Support this channel:
My mission is to create free, accessible, visual and practical tutorials. If you would like to support me on this, you can buy me a coffee :)
www.buymeacoffee.com/omerr
Thank you!!
======================
======================
How do I make videos?
I often get questions about the tools I use to create Videos - so here they are :)
(When available, I may use affiliate links and may earn a commission, with NO additional cost to you)
To create the hand-drawn animations, I use VideoScribe: www.awin1.com/cread.php?awinm...
I edit using Descript: www.descript.com/?lmref=Ux4_CA
Creating video thumbnails: snappa.com/?afmc=3uh
Microphone: Yeti Blue: amzn.to/3QydgtP
Drawing: Wacom Intuos: amzn.to/3pyRXwh
======================
Video created by Omer Rosenbaum. All rights reserved.
Переглядів: 232
Відео
Exceptional Teaching
Переглядів 1635 місяців тому
What distinguishes "normal" teaching from exceptional teaching? How can you teach like a pro? In this video I share my best tips 📕 My book "Gitting Things Done" is officially out! Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5 As an eBook: www.buymeacoffee.com/omerr/e/197232 Or read it for free at: www.freecodecamp.org/news/gitting-things-done-book/ ☕☕☕ Support this channel: My mission is to cr...
5.5 - Subnet Masks and Network Prefixes
Переглядів 4429 місяців тому
IPv4 addresses and subnet masks - we will practice conversions to make sure we feel comfortable with them. 📕 My book "Gitting Things Done" is officially out! Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5 As an eBook: www.buymeacoffee.com/omerr/e/197232 Or read it for free at: www.freecodecamp.org/news/gitting-things-done-book/ ☕☕☕ Support this channel: My mission is to create free, accessible,...
5.4 - IPv4 addresses
Переглядів 2759 місяців тому
IPv4 addresses and various ways to assign network ids - fixed length, classful addressing, and CIDR. 📕 My book "Gitting Things Done" is officially out! Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5 As an eBook: www.buymeacoffee.com/omerr/e/197232 Or read it for free at: www.freecodecamp.org/news/gitting-things-done-book/ ☕☕☕ Support this channel: My mission is to create free, accessible, visua...
Hacking your writing
Переглядів 26310 місяців тому
In this video I share my process for writing effectively and efficiently. All additional resources: github.com/Omerr/write-like-a-pro 📕 My book "Gitting Things Done" is officially out! Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5 As an eBook: www.buymeacoffee.com/omerr/e/197232 Or read it for free at: www.freecodecamp.org/news/gitting-things-done-book/ ☕☕☕ Support this channel: My mission is ...
3.6 Ethernet in Wireshark
Переглядів 1,7 тис.Рік тому
In this video we cover the structure of Ethernet Frames by observing frames in Wireshark. 📕 My book "Gitting Things Done" is officially out! Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5 As an eBook: www.buymeacoffee.com/omerr/e/197232 Or read it for free at: www.freecodecamp.org/news/gitting-things-done-book/ Support this channel: My mission is to create free, accessible, visual and practical...
Git Diff, Merge vs Rebase - Summary
Переглядів 927Рік тому
In this video we summarize what we have learned in the previous videos. Be sure to watch the previous videos in this series: Part 1 - Git Diff - ua-cam.com/video/eG9oAroMcPk/v-deo.html Part 2 - Git Merge - ua-cam.com/video/ZS4stBVdDII/v-deo.html Part 3 - Advanced Merge - ua-cam.com/video/BCNZ5Uxctuk/v-deo.html Part 4 - Git Rebase - ua-cam.com/video/3VFsitGUB3s/v-deo.html 📕 My book "Gitting Thin...
Do LLMs Think Like Humans?
Переглядів 521Рік тому
Do Large Language Models (like GPT) think like humans? Many bold claims have been made lately about LLMs, one of them - that they refute Chomksy's approach to language. This poses a big question - are LLMs good models of actual human (linguistic) cognition? In this video I rely on Katzir (2023) to answer this question. Papers discussed in the video: * Modern language models refute Chomsky’s app...
Git Internals - Git Rebase
Переглядів 4,6 тис.Рік тому
In this video we understand the super powerful tool - git rebase. This is part 4 of a series about Merge & Rebase. In Part 1 we covered Diffs and Patches. In Part 2 we covered the basics of Merge, and Part 3 elaborated on Advanced Merges. The next part will be a recap of this series. If you want to play around with the repository I used and try out the commands for yourself - you can get the re...
Advanced Merges (3-way merge, conflicts) (merge & rebase series - part 2)
Переглядів 3,2 тис.Рік тому
In this video we understand the 3-way merge algorithm, and how Git deals with merge conflicts. This is part 3 of a series about Merge & Rebase. In Part 1 we covered Diffs and Patches. In Part 2 we covered the basics of Merge. The next part will cover rebase. 📕 My book "Gitting Things Done" is officially out! Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5 As an eBook: www.buymeacoffee.com/omerr/...
Git Undo - rewrite Git history with confidence
Переглядів 2 тис.Рік тому
I am happy to share this talk I gave to the awesome Code & Coffee community in New York City, on March 19th2023. The event was sponsored by Swimm.io (full disclosure: I am a co-founder of Swimm). 📕 My book "Gitting Things Done" is officially out! Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5 As an eBook: www.buymeacoffee.com/omerr/e/197232 Or read it for free at: www.freecodecamp.org/news/gitt...
Git Internals - Git Merge (merge & rebase series - part 2)
Переглядів 4,7 тис.Рік тому
Merging is the process of combining the recent changes from several branches into a single new commit that will be on all of those branches. This is part 2 of a series about Merge & Rebase. In Part 1 we covered Diffs and Patches. The next parts will cover merge conflicts and rebase. `git lol` alias: gist.github.com/Omerr/8134a61b56ca82dd90e546e7ef04eb77 📕 My book "Gitting Things Done" is offici...
How Git Works - Live talk in New York City
Переглядів 2,9 тис.Рік тому
I am happy to share this talk I gave to the awesome Code & Coffee community in New York City, on January 22nd 2023. The event was sponsored by Swimm.io (full disclosure: I am a co-founder of Swimm). The talk covers: * The main Git objects - blob, tree, and commit. * Branches and how they are implemented in Git. * Recording changes - working directory, index (staging area), and repository. * We ...
Git Internals - Diff and Patch (merge & rebase series - part 1)
Переглядів 7 тис.Рік тому
I have received many requests to cover the topics of merge and rebase. But as I like to do in this channel, I would like to set all the foundations first, and really understand what’s going on. To do that, we will start with git’s diff and patch. We will learn how git treats patches, and how it applies patches. We will then apply our knowledge to understand the process of merge and rebase. 📕 My...
5.3 Why Would We Need Logical Addresses?
Переглядів 7902 роки тому
In this video, we will investigate why we need logical addresses. Feel free to leave comments on the videos, Like on Facebook, or follow on Twitter :) Facebook: briefchannel/ Twitter: Omer_Ros Support this channel: My mission is to create free, accessible, visual and practical tutorials. If you would like to support me on this, you can buy me a coffee :) www.buymeacoffe...
The Berlin Study - the surprisingly relaxed lives of elite achievers
Переглядів 4722 роки тому
The Berlin Study - the surprisingly relaxed lives of elite achievers
5.1 - Network Layer: Goals and Services
Переглядів 1,6 тис.2 роки тому
5.1 - Network Layer: Goals and Services
Git Internals - Rewriting History and Overcoming Gitsasters - Part 2
Переглядів 4,5 тис.2 роки тому
Git Internals - Rewriting History and Overcoming Gitsasters - Part 2
4.3 Scapy - Creating and Sending Frames [Python]
Переглядів 4,1 тис.2 роки тому
4.3 Scapy - Creating and Sending Frames [Python]
4.2 Intro to Scapy - sniffing [Python]
Переглядів 9 тис.2 роки тому
4.2 Intro to Scapy - sniffing [Python]
4.1 [Python] Disclaimer about Python in our Networks Course
Переглядів 8132 роки тому
4.1 [Python] Disclaimer about Python in our Networks Course
Git Internals - Rewriting History and Overcoming Gitsasters - Part 1
Переглядів 8 тис.2 роки тому
Git Internals - Rewriting History and Overcoming Gitsasters - Part 1
Git Internals - Creating a Repo From Scratch
Переглядів 16 тис.4 роки тому
Git Internals - Creating a Repo From Scratch
3.9 - Data Link Layer - Recap and Test Yourself
Переглядів 2 тис.4 роки тому
3.9 - Data Link Layer - Recap and Test Yourself
3.10 - Bonus - Collisions, CSMA/CD, and minimum frame length in Ethernet
Переглядів 7 тис.4 роки тому
3.10 - Bonus - Collisions, CSMA/CD, and minimum frame length in Ethernet
3.8 Hacking the Switch: Promiscuous Mode and Switch Security
Переглядів 9 тис.4 роки тому
3.8 Hacking the Switch: Promiscuous Mode and Switch Security
This is truly some of the best technical content on YT. Everything: the actual info content, the diagrams and animations, the effort put into pre-prod with good, simple, yet rich examples. Really nice one. I have only one piece of feedback on what can be improved: the ads (for me at least) are so frequent I keep losing my place mentally. I’ve actually never seen a yt video with such frequent ads. Hey if they’re paying your bills: worth it. Just something to know
Thank you for the kind words and the feedback! Honestly I don't control the frequency of the ads - so I can't do much about it :( Thanks a lot again for the kind feedback, it's really touching and motivating
kol hakavod! these series of yours achi is completely brilliant!
Thank you! Please consider subscribing 😇
Hi bro did u covered all the topics related to networking??? I want to prepare for next year exam so this year there was a question like switch works in which mode ans is promiscuous so i want to know have u covered everything related to networking subject???
Hey, I am happy you found this useful! I covered everything on the second layer, still working on covering the third layer upward :)
I could probably get by my entire life without rebasing, but thanks for the video! I find very strange that the rebase argument have a completely different meaning depending on the options, like --onto. Options should ideally only some minor aspect of how a command is carried out, not completely change the meaning of the arguments. It confuses me...
You are welcome :) I agree it's confusing, I am not here to defend Git's UX - but I think rebase is a super powerful tool we should embrace
Great video! :D ✨
Thanks! 🙏🏻
As usual, a really helpful lecture! I learned a lot!👏👏👏
Awesome, thank you so much for commenting 🙏🏻
welcome back ! put a video for git-tags and git graph
Thanks! What do you mean but git graph? The utility that I used in previous videos? And tags - I mentioned them on my video on branches, I honestly don't feel there's enough to deserve a full video, but I"m open for questions / specific things you'd like me to cover :)
great explanation, amazing visualization of the concept thank you for your work
Thanks! Glad you found it helpful 🙏🏻🙏🏻
No, no no.... Why do you suddenly start to overlay everything you say in big letters like an american tv commercial? It only distracts from what you're trying to teach. You were doing these videos so well before, so please, don't do that. It's really annoying!
Thanks for your feedback. Do you mean the "live" subtitles? Or something else? Some viewers told me it'd help them concentrate, but I am open to feedback - and if many people feel the same way I'll definitely adjust
This is by far the best deep-dive videos on git. Precise, to the point, brilliant! Thank you. Please keep making such amazing videos, I have my notifications on :)
Wow, thanks so much for your kind words! I am working on more and will definitely add more. If you'd like me to cover something specific, please let me know :)
Amazing! Most tutorials just talk about commits and often omits showing what happens in the working tree and the index. This is exactly the tutorial I was missing to understand the whole picture. Many thanks for putting together this great video!
Glad it was helpful! Thanks for your kind words 🙏🏻🙏🏻
Question: In the diagram at 27:13 how can the second commit contain the full state of our files it it only references the tree object pointing to the second file we created? Shouldn't the tree object it references point to both our files (blobs) at this stage? Or did I miss something? 🙂
Hey there, 27:13 is the length of the video, so I guess you meant a different timestamp? :)
Wow! Already, after just 4 videos, this is turning out to be the best series of videos explaining git that I've seen to far! Great job!! 🙂
Wow, thanks!
wow
Thank you 😇
I love you dude
Thank you 😇
love this!
Thank you 😇
Very useful
Thank you!
Always so good, best I have ever met for git video series
Thank you! If there's a specific topic you'd like me to cover, please let me know 🙏🏻
@@BriefVid what you provide is what I want, you made realized this is what i want. Keeps you pace, that's what i follow and need.
Great explanation. Thank you very much ❤
Thank you for watching, and for the kind words!
omg you are back! Love your videos
Yes! I will try to keep them up frequently :) Thank you!
These are great, kind of deep knowledge that is surprisingly good. Thank you very much. I have a question, at the end, 24:35, git commit-tree 8abe3..., what is this created tree exactly? does it contains only Blob 2932B TEXT.TXT? or should it also contain other blob in the directory? (BRIEF.TXT)
For the problem at 18:50 I solved it this way: git branch new_feature git update-ref refs/heads/main <old commit for main> Is there any drawback doing it this way ? Now that I think about it, I don't see any difference between "git reset --soft" and "git update-ref" other than the fact that "git reset" lets you use relative commits like HEAD~N Thanks.
Thank you for your comment. Indeed you are correct, this is a valid way. I wanted to explain `git reset` and its different switches so I demonstrated with this command. Regarding differences - `git reset --soft` doesn't actually create the commit, meaning you can then change your staging area before committing. If you don't want to change anything, then indeed your approach is practically the same. I hope this helps!
Fantastic explanation.👆
Thanks! I'm glad you found it useful 🙏🏻
Best channel to cover git internals
Thank you! 🙏🏻🙏🏻
Amazing video and analysis of the subjects. I can't thank you enough for such a high quality content made available for free.
Glad you like them! Thanks a lot for your kind words!
Thanks!
Thank *you* for supporting me, I'm glad you found it useful! 🙏🏻🙏🏻
Reqlly useful videos!!!
Glad you think so! Thanks for commenting 🙏🏻
Hey, at around 7:20 your git status says nothing to commit but I am not able to initialize a git repo :( PS D:\test-git> tree /f Folder PATH listing for volume New Volume Volume serial number is E883-1978 D:. └───.git │ HEAD │ ├───objects └───refs └───heads PS D:\test-git> git status fatal: not a git repository (or any of the parent directories): .git PS D:\test-git> cat .git\HEAD ref: refs/heads/master
Great explanation. After seeing 3 videos I'm missing some info. 1. Do the sha files contain the content of the file? 2 How is the file tree, as seen by say an editor get created when I chechout a branch? 3 Does git go and recreate the entire tree from the blobs? 4 what if two files have the same sha? Thanks!!
Hello there, thanks for your questions. 1. The blobs include the content of the file, yes. 2. The file tree is derived from the index file, which is populated based on the base commit. 3+4. Have you watched the video on Git Objects? I explain these topics there: ua-cam.com/video/MyvyqdQ3OjI/v-deo.html I hope this helps :)
Sir it is possible to make a commit in multiple branches ?? Like cherry pick , without cherry pick is there any other way to do the same??
I am sorry but I don't understand the question. The commit is "on" branches when it's reachable from the tip of that branch. Do you mean to add it to the top of the branch? If so, why not use cherry-pick? Or git apply on the diff between that commit and its parent?
@@BriefVid i mean that at the same time make a commit on multiple branches sir without using cherry pick is possible or not ?
my doubt is if you are creatina a pathch for a file called newfile.patch then you are doing a hard reset while you are doing hard reset it change the head what ever we want ,so that time patch file gets erased so how it able to take that patch file in to the current files and get added ??
When we create the file `newfile.patch` it is UNTRACKED as it has never been `add`ed to the index. Thus, `git reset --hard` doesn't affect it. I hope this explanation is clear :)
@@BriefVid clear
Almost in tears watching this unfold.. so good. Will recommend to others
Thank you!!! That's much appreciated 🙏🏻
This is so good. . . Just stumbled upon your channel and was amazed how easy you explain with the visuals. Helped so much.
Thank you so much for your kind reply!
bro how to draw work graph using git commit hash teach how to fetch the hash and using that to create a work graph
I'm sorry, I didn't understand what you mean. Can you please explain the question?
@@BriefVid Yeah bro , right now I am doing work in git related work I need to know more clearly about gir graph like how to understand the git commit hash graph Like git graph extension in vscode
@@kthamim7552 did you watch the Git Objects video? I believe it will get you what you're looking for :)
Thank you. I need this. So far any website and or search I do asking what a frame in the data link layer is explains that is a frame is data that has been framed. That is a terrible explaination and no one is explaining it. From this video I at least know that it has something to do with simply adding more bits to the beginning and end of the data so as to identify the beginning and ending of the data (message).
Excellent! Thanks for letting me know. I hope the next videos will clarify this even more :)
Hi, I have a question. While re-ordering the base for the first commit of a branch in the tutorial - time : 22:15, you didn't checkout to the branch "new_branch" before applying "git rebase --onto". You applied it while you were in the main branch. But in the second case(time: 25:27) you checkout to the branch "feature_2" before proceeding with the "git rebase --onto". Can you help me on this please.
P.S. I understand why we need to checkout to the branch while applying "git rebase" in the second case presented in the tutorial (time: 25:27) --> all thanks to your tutorials. I just couldn't wrap my head around the first scenario.
When you use `onto` and two additional arguments as I did, it doesn't really matter where `HEAD` is pointing to before the command. You are essentially saying - take this changes (introduced in these commits), and apply them on top of this commit. It doesn't matter where yo uare now. I hope this helps :)
@@BriefVid Thank you. I get it now.
Man you are simply great. Thank you for taking your time and effort for generating such invaluable contents.
Thank you so much for your kind words! Please help me share the word 🙏🏻
Excellent videos, thank you! I want to point out that at 19:20 in the video, a 'git reset --soft' would have worked just as well.
Thanks @NirArad! I recently replied to another viewer about the difference here between using `git reset --soft` and my usage of `git reset --hard`. You are right of course - just notice that a longer explanation is there :)
Finally I find a video that help understand this thing
Thanks for letting me know, I am glad it helped 🙏🏻
All this example using rebase are valid when we don't have conflits, we just want rewrite the history, right? To deal with conflits merge still the better aproach, or am i wrong?
Thanks for the question :) Do you mean local conflicts during rebase (that can happen) or conflicts with the remote? The 5th video in this series discusses the difference between rebase and merge. Bottom line - conflicts resolution is the same in both, but you should never rebase things that were pushed and someone else might have relied on. The other vido explains this much better than this short paragraph, but feel free to ask here or as a comment to that video if anything is unclear :)
Valeu!
Wow, thank you so much!
@@BriefVidthank you. Your content is amazing. I will try send more as a away of thankness. I hope you continue with the awesome content.
@@flaviohenrique5294 that'd be amazing. Really, thank you 🙏🏻🙏🏻🙏🏻🙏🏻
Damn, this is so good. Thank You Bro, I actually understood git under the hood !
Thank you for your kind words!
Awesome thank you!
Thank you for your kind words!
Thanks. Very useful! Much better than learning a bunch of commands that i don't understand!
Thank you for your kind words 🙏🏻🙏🏻
Not Everyone Have This Like Of Deep Knowledge. Thanks For Publish For Free ❤.
Thank you for your kind words!
YOU ARE FREAKIN AWESOME!
Thank you!!
Thanks for the series
Thank you very much
nice video! can you tell me the git command 'gg' alias for what ?
Thank you! You can find it in the descrption of the next video :) ua-cam.com/video/BCNZ5Uxctuk/v-deo.html&ab_channel=Brief
better than udemy. very good!
Thank you!
Very well structured and easy to follow guide, thank you
Glad it was helpful! Thank you for your kind comment!