Scott’s voice in these videos is like the “fluffy clouds” timbre of Bob Ross. Is Scott the Bob Ross of IT? “Talent is a pursued interest. Anything that you're willing to practice, you can do.”
I’ve been using git for years but your descriptions are lovely and simple. Your the ‘Bob Ross’ of tech Scott. You start out with something that looks sketchy and end up with something that is simple and effectively explained. Great work, look forward to seeing more of your videos.
This is a great series, and you've made rebasing simple to understand, thank you so much! Your teaching style is something I aspire to. May I suggest workflows (gitflow or trunk-based development) and using git in code reviews as future topics?
Scott, I know a little off topic but could you maybe show us what you do with Windows 10 to get rid it of all that telemetry. The biggest reason I don't use Windows10 is due to all the telemetry it is sending back and forth to servers controlled by msft that I have no control over. Also, I find it irritating (being nice here) that windows users have to go through such a rigmarole when setting up their boxes (spyware, candy crush removal, etc.). Linux setup and use is soooooooo much easier with none of the spyware (unless you install chrome, LOL). Please let your community know your thoughts on these issues. Sorry for the length.
Scott, thank you so much for this video series. I would like to request a video on putting it all together. I'm self taught and understand many of the pieces, it's the development workflow of local machine to github to production / staging servers, updating sites, etc that I get lost. I'm trying to build a drupal site using docker containers locally, using github to hold repo and a production/staging server. Help?
These are a fantastic set of videos on git. Personally I prefer merging, but use `rebase` heavily on feature branches (e.g. git rebase -i HEAD~3) to squash any superfluous commit messages down into fewer commits before opening a PR. How about a video on resolving merge conflicts?
How did you get your terminal/git-bash to highlight the repo in blue, and the branch in green? Edit: actually i found another video of yours where you go over that, thanks!
We never commit any changes to main branch. We always create a new branch like "feature/TD-2134_blabla" and then commit and push After that at least two person overview and after approve you can merge it to the main branch with squash and delete you branch, never more simpler, never more cleaner
Did you discuss using GIT stash for work in progress scenarios? Also VSCode has a great integration that most people have not seen. maybe a new video for your series?
Scott, since you've talked about git a couple of times, would you go further talk about the pipelines, say, Jenkins. Maybe just some basics, as simple as where we shall store the Jenkins code - pipeline script, shall the script be stored in the same repo w/ the app source code, etc. :) Thanks!
Question about VS Code Terminal. It looks like your terminal in vs code still shows nicely, but mine does not seem to show the icons within Code. Is there something I need to do to make it show in all places and not just Windows Terminal?
That blood sugar prompt is pretty slick. I used your block to set up posh git on my machine and love it! It pushed me toward using git CLI almost exclusively, vs a UI client.
The only video series that I found that actually explains GIT from a practical pov while still covering the underlying frameworks. Love the PoP reference too!
What does Scott use to click and create green arrows and rectangles on top of VS Code and Github? Not the part where he uses MS Whiteboard, but the other parts.
I have been using Git for a long time and definitely this is the simplest/smartest way to understand Git "Rebase". Thanks Scott, I always learn something interesting from your videos.
Thank you for your videos! Having your blood sugar right in the command prompt is amazing. This way you don't have to worry about these annoying compensation matters. I think it's really cool. Having the implant is cool also.
Scott, I suggest drawing your commit/branch visuals with the arrows going from a commit to it's predecessor. I have found that not doing so can cause more debate than necessary about branching strategies
So that I'm clear, can someone tell me if this is correct. After Scott did the rebase. Then he did a git merge evilspock. So it's kind of a 2 step process. The rebase first. Then the merge command. Yes?
Rebase 'replays' the commits from evilspock as if they happened 'after' the changes on main. At the end of the first step, evilspock knows about this, but main is still where it was before. The second, merge command just tells main 'hey, you should include these extra commits now'.
I am not sure if it is a rebase or something else. Can you cover how to handle this situation? Say you have multiple branches. Another branch modifies a file and is merged into main after the time when your branch is created. The file you are working on is not the same file, but depends on the newly modified file in main, but your branch still has the old file. How do you bring the current branch up to date with main so you can make your code work the the new main branch files?
Great series. Two follow-up questions: 1. Visual Studio has a nice interface with GIT. Any differences between it and the GIT History extension you are using for Visual Studio Code? 2. I've noticed Microsoft DEVs talking more and more about GITHUB. We moved our code base to Azure DevOps private Repos years ago. Should we be thinking about moving them from Azure DevOps to GitHub?
Really nice job explaining Rebase. I like the pace you are teaching, its make things look so easy. Always fun to watch your video... I also learned MVC from you
Topic extension suggestion: Rebasing if you have already pushed your feature branch to a remote. The downsides of rewriting history if there is a copy of it elsewhere. That is where rebasing gets really tricky and git push --force is useful but not always available.
Loving the videos. As I am currently working in Python with Jupyter notebooks - could you cover how to explore merges and other git tools with jupyter notebooks. As the notebook is stored in .json, the usual merge makes it almost impossible to review conflicts and change. Thanks!
Awesome presentation! I've to present some subjects to my colleague and having a pen to draw stuff would be highly beneficial! How do you draw like this? Is it on another tactile screen?
Thanks, very detailed and patient explanation. Git is very important but hard for me, I always google how to remove branch locally and remotely and how to undo a pushed commit (still have no idea how to do that properly).
I noticed that in dreams, if something bad happens, you can often go back in time and rewrite the history, so the dream outcome ends up being nice. Now I know it's called "rebase".
Following your videos for 6 years now. It has been always been great to watch you. Always learned new things the best one is the trick to select text in VS with ALT key pressed. I have impressed many people with this trick.
Hi Scott, I'm really interested to know how you have your surface connected? Is it the machine powering this presentation, or is it being used as an external monitor somehow?
Is OCD the only reason to rebase over merging? Any real world scenario this would be preferable other than organizing history? When do you prefer rebase over merge? Thanks! Great series!
I usually use rebase on my local branches before I push to the remote to change commit messages to something more describing (during development just pick any message so I don't lose my flow, often something like WIP or temp) or if I find small mistakes (spelling in comments, wrong formatting, small little bugfixes, ...) and use fixup to meld it into an older commit.
@@Vasrias That does makes sense but sounds like the end results might be the same depending on your teams workflow? My place, when we review a PR we really don't worry about the single commits or the comments we just look at the final combined code. I can see this cleaning up the commit history a bunch. Instead of searching over 20k commits you could be looking at 5k.
I make many commits in local brach(es) - mentally I call them checkpoints, sometimes I revert back to previous checkpoint. When task is done, I rebase all checkpoints in one nice commit to push out into the world. It gives me confidence, that locally I can do and try out whatever comes into mind. Another one - I pull with rebase, to avoid polluting history with "merged remote branch in local branch" commits and if there are conflicts, I find that putting my changes on top of someones else changes is easier, than resolving conflict with merge.
Thank you Scott, this will save me a lot of time explaining it to my junior colleagues :) I love your videos, a lot of information presented in a very entertaining manner, keep them coming!
Great video Scott, thank you! One thing regarding the cool prompt. I get a "square" (missing font) for the icon that comes right before the environment name (when activating a python environment). Do you know how to fix that? Thanks!
About VS Code. Wish to hear some reassuring thoughts about the safety of extensions in general. Because my naive impression is that anything could be in them.
I use a Dexcom G6, it sends data over Bluetooth to the iPhone, then to Dexcom Share. I pull from Dexcom into a Nightscout (Mongo) DB, which makes it available via a REST api.
Thanks for the video, Scott. There was a time I asked a friend this: Say I'm in a file UserProfile, and I've been asked to add uploading of profile photo as a feature. I create a function UploadProfilePhoto, then my boss walks in and says, why don't you defer that and show the username, alongside the user's full name, so I create another function ShowUsername. Say I'm done with the ShowUsername function and I need to commit, but there's now a "moral" conflict, the commit should only be concerned about showing the username, not uploading a profile photo. Is there a way to commit just the ShowUsername function, and not UploadProfilePhoto function, even though they are in the same file?
`git add -p ` or just `git add -p` might be what you're looking for? That's one way to add parts of a file to commit; for each grouping of changes it will ask you if you want to stage them or leave them unstaged.
@Bridger Hammond the example is just for illustration. The question is what if those functions are in the same file. I don't think it's something you can escape as you have a lot to work on.
@@adebiyial Hmm. Not sure what you're asking, then. Just in case, medium.com/transmute-techtalk/improve-your-commit-hygiene-with-git-add-patch-3b7dd9c117c4 has a little more detail on this.
@@ChrisHaupt Well, that makes sense, too. The quality of the sound is really good. I know he's a pro, but still I'm impressed ... of the quality of the video and the demo and all, not just the content itself.
Git is brutally complicated. Instead of the parallel universe analogy, git is a world where the authorities tell you up is down, that git makes sense. Keep in mind that Scott works for Microsoft, Microsoft owns git, it is in Microsoft’s interest to lock users into their world of software products. The way to accomplish the lock in is to tell users that git is great, the convoluted parts of it, just skip that or keep on using our software products and paying your monthly charges, and you will eventually get the hang of it.
Clarification: Microsoft does not own git. They bought and absorbed GitHub (the website), but not git. There are non-Microsoft alternatives to GitHub. And they bought it GitHub because git was already massively popular; not sure there's a need for some nefarious conspiracy of "let's be nice and create a useful video to prop up the popularity of the already most-used open-source version control program on the planet".
@@Steve-Richter So use Mercurial or Gitlab or Bitbucket instead. The point of source control is to allow frictionless sharing and collaboration, which is the exact and precise opposite of vendor lock-in, and consequently you can do what you want with your codebase. The mind boggles. By the way, Github has free unlimited private repositories, so not sure what you mean about 'monthly charges.' But that was only added after Microsoft took over, so make sure you send a message to Scott thanking his company for that change.