Wondering what happens if you add subtrees without --squash and update it with --squash or vice versa, and what happens if you directly make changes in the subtree folder.
@DanGitschooldude5 ай бұрын
You can think of a subtree as just merging the history of another repo into yours, that's what it looks like in the git history, which makes 'git log's output look a bit confusing. Each time you update you'll get linkage to the history brought in. Squashing it usually makes sense if you don't care about the history between sync points. I have used submodules far more extensively than subtrees. In general if you can do a mono repo and avoid both, that's usually the best path.
@jehovah01215 ай бұрын
@@DanGitschooldude So if a subfolder is a dependency that doesn't couple too much with the main repo, subtree will be a good choice for this folder?
@ruixue69556 ай бұрын
0:43 fake example: use the *trick* simulation framework to do the simulation 1:56 purpose of *submodule* 2:10 why need a submodule (the *trick* project in the example) 2:32 purpose: let you tie the specific *commit* to the development flow of the repo you care about 3:12 *if you want to include a third-party dependency in your repo, a good way is to use git submodule* 3:48 demo 4:31 command: git submodule add <url of the dependency repo> 5:54 *.gitmodules* file 8:43 commit the change including added submodule 10:24 change code in *trick* repo 11:00 sub-module has no knowledge of its parent (carsim in the example) 16:30
@ruixue69556 ай бұрын
0:56 git remote show origin 2:13 git subtree add
@d-thec-tieve46486 ай бұрын
you can use git blame -L to limit to a line number
@mindfulnessrock8 ай бұрын
every subcommand man pages*
@xhuxhoo909 ай бұрын
7 years later and still works. Thanks a lot!
@mindfulnessrock10 ай бұрын
It's a bit inconvenient tho for commits spanning multiple files, which is why you should commit often and not use an external TUI tool : )
@pixiedev11 ай бұрын
Thanks man before this I removed the commit and re commit with the message 👍🏻
@nikhileshsaggere11 ай бұрын
Hi Dan, I am on Gitlab free tier community edition, is it feasible to implement merge state/merge result pipeline by myself meaning by adding another specific stage to checkout current master and merge the source branch that runs only on merge requests....would this work as closer to the Gitlab's merge result pipeline and merge train feature? Please share your thoughts! Thanks.
@DanGitschooldude11 ай бұрын
Yes what you describe is possible but you have to handle the git mechanics and error handling yourself - consider if there's a merge conflict. What if you have submodules you have to make sure they are updated, etc. Probably not too difficult to manage with a small project but you can also just force semi-linear history which solves the same core problem of testing the merged state. Let me know how it goes!
@nikhileshsaggere11 ай бұрын
Sure. Will try and update here. Thank you!!
@nikhileshsaggere11 ай бұрын
Genius!!
@mihai6564 Жыл бұрын
I used your video at my work
@DanGitschooldude Жыл бұрын
Me too!
@vinisampa26 Жыл бұрын
thanks!!
@takshpatel8109 Жыл бұрын
Thanks Dan
@takshpatel8109 Жыл бұрын
Thanks for video
@jondoough Жыл бұрын
Started out well until you confused things about removing history, and you really didn't end up with the purpose. A good example would be something like drupal were a developer started making modules, and then you want to split them off. You forgot how to link the submodule back to the main repo. This would be a useful example.
@olokosdsfddfdfs Жыл бұрын
Quick, on point and easy to understand, thanks!
@mihai6564 Жыл бұрын
good video
@tzgardner Жыл бұрын
I guess the only: keyword is associated under-the-hood to the branch name? As apposed to writing an if statement to accomplish what you did at around 5:30-6:00
@DanGitschooldude Жыл бұрын
I'm not sure - but I believe only: is no longer being updated/supported and the entire mechanism has been replaced by the newer rules: clause, check out the documentation for details.
@pig2008ex Жыл бұрын
bro you are my hero
@corndoggydogdog Жыл бұрын
Do other users need git lfs to retrieve resources? I'm guessing so, but it'd be amazing if only one team member needed lfs!
@DanGitschooldude Жыл бұрын
Yes, they need the git lfs client. It's so widely used now it's available on practically every platform.
@jdaniels1313 Жыл бұрын
Loved it! Now, are you going to follow up this Tour de Force with a "Hitler - Downfall" version of mocking Git? Or maybe Hitler standardizing his startup on Microsoft Windows Servers over Linux servers? ("Mein Fuhrer... the Microsoft license fees are $100,000 per server..." and Hitler waves dismissively, "we will pay them with Weimar Republic currency, two wheelbarrows full should do it")
@uhrinq6102 Жыл бұрын
it doesnt let me create the repo with git init ,it shows gilbc not found? on replit that is ,does that just mean to install gilbc and then how do i link it in?
@madmurdock1 Жыл бұрын
Thanks for the video. Sadly the end statement, that submodules are rather the wrong choice for in-development code modules came a little late. It would have helped me way more, if you would have mentioned this at the beginning - so that I’ve sooner recognized that this is not useful for me. :D :P
@DanGitschooldude Жыл бұрын
I think this is proven even more true in the last 8 years since I made this video. The monorepo has won over the many-submodules approach folks were trying a decade ago. Submodules are still useful for slow moving 3rd party dependencies - I use them in my day job. They are just misused often. Thanks for watching!
@srivishnu6640 Жыл бұрын
Clear Understanding! Thank you!!
@mekam3963 Жыл бұрын
I would like a webhooks. I also haven’t checked out your other videos yet! Good explanations
@kavitakulkarni2118 Жыл бұрын
There is one question which says, while running git filter-branch --tree-filter command, the execution became slow, so which filter command you will use instead to get quick results. The answer is --index-filter but I am not sure why and how? Can you please explain that?
@shahrokhabbasirad2223 Жыл бұрын
Awesome. You solved my problem. I was stuck with this fatal error when running the submodule update --init. And you showed where I was doing it wrong. Thanks
@mikesellers7101 Жыл бұрын
Thank you!
@yadali4833 Жыл бұрын
I am new to git, I did not understand what you did after the commit, you created a new branch and pushed to that branch?
@1985stout Жыл бұрын
Thankyou!!
@derekreed6798 Жыл бұрын
Nice 2 vids
@DanGitschooldude2 жыл бұрын
Re-upped free link again. First 100 redemptions are free here: www.udemy.com/course/fundamentals-of-git/?couponCode=F425AC4018D6BC95B50E
@viktornikolov15702 жыл бұрын
Now this really helps. A great way to use youtube shorts.
@DanGitschooldude2 жыл бұрын
Glad it was helpful!
@FrankGraffagnino2 жыл бұрын
before i watched i knew Derek was to blame.
@JD-mv4rb2 жыл бұрын
so cool!
@kopiking3522 жыл бұрын
using --squash would cause lots of merge conflicts when subtree add or pull
@c4llv07eАй бұрын
If you're changing subtree content, it's probably a good idea to use submodules instead.
@yash11522 жыл бұрын
9:12 how to make it show the line numbers too? so, like file.ext:12:chicken
@yash11522 жыл бұрын
3:04 ll for long listing - oh, i had forgotten this
@yash11522 жыл бұрын
9:16 alias for pretty printing git log -- aah, super nice :)
@davidc.99332 жыл бұрын
I think I need to watch the previous video. I want to take a list of strings, or an array, and get matrix to spread them out over jobs. In Jenkins I did that by maintaining specs for each worker, but there must be a way to iterate in GitLab. Thanks for content I can listen to, you have a great voice for this, subscribed.
@krisculin96792 жыл бұрын
I am very new to Git (my team is moving to DevOps Git in the very near future) and I searched long and hard for a good series of tutorials and came across your playlist. So far it is absolutely perfect. Each video is short and concise about a singular command and it is very easy to follow. This is only #11 and I'm looking forward to watching the rest. GitK is available on Windows at least via Git Bash - 7 years after this video was created.
@DanGitschooldude2 жыл бұрын
Thanks for the kind words Kris!
@user-vv4xs4sv9c2 жыл бұрын
Is there a way to add a new line to the commit message with reword option?
@DanGitschooldude2 жыл бұрын
Yes, commits can be edited with interactive rebase. "Reword" or "edit" will enable that.
@user-vv4xs4sv9c2 жыл бұрын
@@DanGitschooldude Thank you for your reply :) However, when I select the reword option, it only allows me to edit a line but i want to add a new line to describe the commit message. I tried to go to the next line but it didn't work. I am very new to using github so I appriciate your help very much.
@user-vv4xs4sv9c2 жыл бұрын
I found that i needed an extra enter to make it work. Thank you.
@games4us1322 жыл бұрын
very usefull. thank you !
@khangohan72882 жыл бұрын
I was trying to push to github repository but due to large file lfs error come. So I delete the larg file which is not necessary due to which error was coming but still error is there of git LFS. Any soln for this problem
@DanGitschooldude2 жыл бұрын
You can't just delete a file to resolve it, because when you push it pushes all commits. If that file is in any of those commits, you still get the rejection. You have to squash the commits or otherwise remove all commits where the problematic file exists. I have videos on deleting files from all history and interactive rebase, check them out.
@games4us1322 жыл бұрын
why hotfixing 1.2.x if you have 1.3.x hotfixed and released ?