Git And GitHub in ~30 Minutes

Tech With Tim · Beginner ·🛠️ AI Tools & Apps ·5y ago

Key Takeaways

This video tutorial covers the basics of Git and GitHub, including initializing a local Git repository, creating and managing branches, committing changes, and pushing code to a remote repository. It provides a comprehensive introduction to version control and collaboration using Git and GitHub.

Full Transcript

[Music] hello everybody and welcome to this get slash github tutorial in this video i'm going to be showing you everything you need to know about git slash github to get started as fast as possible now yes this video is fairly long but it's because i really want to make sure you understand how git and github work the differences between them and what these commands actually do with that said what i'm going to be covering here is initializing a local repository i'm going to be talking about tracked files untracked files staged changes and unstaged changes as well as branches remote repositories and all of those other things that you just really need to know and are fundamental to git and github after this video you should be comfortable using these two tools and in any kind of industry environment you're probably going to know about 90 of the commands that you need to so anyways let's get into the video after a quick word from our sponsor before we dive in i need to thank code cloud for sponsoring this video and talk to you about an awesome platform called code cloud engineer code cloud engineer is an all-in-one platform designed to make you an expert in devops technology and the best part is that it is completely free once you register on code cloud engineer you will start working as a systems administrator at a fictional company and move up in the ranks as you gain experience as you complete tasks related to bash linux networking ci cicd and many other devops related topics you'll be promoted to a devops engineer senior devops engineer and finally a devops architect this structure allows you to simulate what it's actually like to work as a devop engineer at different levels and develop the necessary skills you need code cloud has hundreds of tasks explanation videos and three large projects you can complete you'll start basic by learning about linux bash and common commands and move into working with databases system design and much more if you have any trouble doing your tasks you can ask other engineers for help or request a review of your work code cloud engineer has over 3 600 engineers on the platform many of which have landed jobs at tech companies like dell apple google microsoft and many others get started today for free by signing up from the link in the description so we'll get into the commands in one moment but i want to quickly describe the difference between git and github so when we talk about git we're talking with the actual version control software now typically git is run as a command line tool and it's run locally on your machine this is the software that we're actually going to install before we get into all of the commands now what git does is it allows you to track your code and version history it allows you to work on different versions or different branches of a code base and it helps everybody synchronize their different versions of code so say a local repository versus a remote repository how do you sync those repositories together well you can use git to do that now this differs from github these are two separate things github is a web application or a website that hosts remote git repositories it's owned by microsoft and it's deeply integrated with git and really what it does is it just provides extra functionality on top of git and kind of a nice user interface to use git on now github is usually used by teams of two or more people the reason for this is that when you have a remote repository anyone can access this repository from anywhere around the world and so that would be kind of where your main code base lives and then all of your developers would have a copy of this code base on their local machine so a local git repository and then when they make changes locally they would push those changes up to the remote repository that's hosted on github so those are kind of the differences between git and github of course there's a lot more but just understand that because git and github are different and really what i'm going to be covering here is git although i will show you how we can host a remote github repository so i figured i would include this step in case any of you haven't already done this you do need to install git so to do that you need to download git from this website i'll leave a link in the description choose the appropriate version mac windows or linux and then run the installer with the default options you obviously can change them if you want the default is totally fine and then you'll be ready to follow along with this tutorial so now that we've installed git we can actually create our first git repository what we're going to be doing is initializing what's known as a local repository this differs from a remote repository because a local repository lives on your local machine on your actual file system whereas a remote repository would live somewhere like github anyways the command to initialize an empty git repository is get init now don't type this in yet or don't press enter yet until you've changed the directory of your command prompt or terminal to be in the folder where you want to initialize this repository for now a repository is really just like a project just like you may have a folder that stores all of the information or all of the code relating to a website well you would have a git repository that has all of the files related to that website so what i've actually done is i've created a folder here on my desktop it's called get demo i've opened it up here instead of sublime text this is just a lightweight code editor that i like to use for videos you can download it from the link in the description anyways you don't need this but what you do need to do is open up your command prompt or terminal you will likely be in your home folder when you first open this and you need to navigate to the folder or directory you want to initialize this repository for please do not initialize a repository in your home folder that means all of the files in your home folder including all of the subdirectories will be a part of that git repository which is just not ideal and you do not want to have that so what you're going to do is go cd and then change directory to whatever location you need to go to in this case i'm going to go to my desktop and then i'm going to go to my git demo folder now here's a little shortcut for you guys if you are on windows what you can do is actually use the regular file explorer to navigate to your folder you can see i have get demo open right here you can go inside of this address bar here and type cmd and it will actually open up a command prompt that is in that location you can check that by looking at the path right here that's showing up so now that i'm inside of this folder right here in my command prompt what i'm going to type is get init and press enter this will initialize an empty git repository it shows you the path that initializes initializes it in sorry and you can see that what it actually does is create an empty folder called dot git this folder indicates that everywhere inside of this directory is a part of this git repository and if you open up this folder here you can see a bunch of information relating to the repository now the reason i'm able to see this folder and many of you won't see it is because i have hidden items showing in my file explorer if i uncheck that you see it goes away so it is actually a hidden folder the way you can see it if you're on windows at least is you can check hidden items if you're on mac i believe you can right click in the finder and there's something that shows hidden items although i may be incorrect but that anyways you don't have to worry about this folder but if you wanted to delete this git repository you would need to delete this folder so you would just delete it like that don't worry that won't delete any of your files it will just delete the information relating to the versions of all of those files now it's worth noting that you can initialize a git repository in a directory where files already exist or where there's already code written that's totally fine all that means is that anything that you've done before you initialize the repository will not be tracked by git so the version controller the version history of that story will not be tracked by git because well git wasn't tracking it when you originally wrote that code so now that we've initialized our first git repository it's a good time to discuss tracked versus untracked files and then the staging area in git now first i must correct myself previously i was saying that wherever you initialized a git repository all of the files that were in that directory would automatically be a part of that repository that is incorrect you actually need to manually add files to the git repository which i will show you now so we're talking about git we have this thing called the staging area we have this concept of tracked and untracked files right now i have three files here and these three files currently are being untracked you can see as i highlight these little bubbles in sublime text it's saying untracked what that means is that git is currently not keeping track of these files so any changes that i make to these files git does not care about it's not saving it doesn't know because we have not added these files to what's known as the staging area and started tracking now the way that you can see if you have any untracked files is you type a git status in your command line here so when you type git status it will tell you a bunch of information some of which is not really relevant right now but notice it says untracked files and it shows us these three files right here so this means that if i do make a commit right now which i'll discuss what that is these three files will not be a part of it so now let's briefly discuss commits and kind of the workflow in get so in git we have three main areas we have our local area we have the staging area and then we have a commit or the actual repository so when we're discussing our local area that's stuff that you see that stuff that's on your file system these three files here even though they're not a part of the git repository they do live on our file system they're in our kind of local file area whatever you want to call it then we have a staging area what the staging area is is a temporary area that allows you to decide what files and what changes you want to be a part of a commit so if i wanted these files to be tracked by git i would add them to the staging area and then i would make a commit now what a commit is is kind of a bundle of changes so i like to think of a commit as a checkpoint every time you do something significant in git you should make a commit so if you fix a bug if you implement a new feature if you refactor some code anything that you'd want to potentially go back to in the future you would kind of bundle all of those changes in a commit and what the commit is is kind of a little dot on a timeline at least that's the way i like to think of it so whenever you make a commit git is actually storing that information and so you're able to go back to that if you say mess something up in the future you can go back to a previous commit however anything that you do not commit so any changes in between two commits you cannot get back to you can only get back to the state at a commit so hopefully that makes sense but you go from your local area to the staging area to a commit all of those commits are actually stored in the git repository and that's kind of the point the repository is to keep track of the version of code but you have to define what versions you want to store by creating commits at whatever point makes sense for you so now let me show you how we add these files to the staging area so the command to add them is git add if you want to add all of them you type git add dot if you want to add individual files you type git add and the name of the file so i'm going to add another dot pi to the staging area and if i type git status now it's going to tell me that i have some changes that are ready to be committed what that means is this file now is being tracked by git because it's been added to the staging area however these two files are untracked and not staged so i'm going to add another one i'm going to say git add and then test dot py and then if we look at git status we now have two files that are in the staging area and that are ready to be committed whereas this one is still not tracked now to remove a file from the staging area what you can do is type git rm hyphen hyphen cached then the name of the file so let's do test.py and now if you look at git status you can see it is untracked so let's add that one back in though test.py git status all right so now let me show you how we actually make a commit and what's going to happen here when we have these two files in the staging area and this one is not so to make a commits what you do is you type git commit hyphen m that stands for message and then you list the message that is associated with this commit afterwards now whenever you write a commit message it should be in present tense it should be relatively short and it should accurately describe in as few words as possible what the changes are that you made the reason for this is that when you're looking at commits later on and you need to roll back your code to something previous you want to actually be able to you know figure out what what you did in what commit if you're just typing you know commit one commit to commit three that's not very helpful so here i'm just going to say first commit this is valid because well this is actually our first commit but going forward i would want to describe the actual changes i made so like you know fix this bug implemented this feature so on and so forth all right so we typed that in now we can see we have two files changed three insertions that's just the number of lines that we actually inserted and then it gives us some information saying that we created two brand new files notice though there's no information relating to this not tracked file because well it's not tracked so if i type git status what you can see is this file still is not tracked all right so now let me make a change to this file here so let's delete this line print test and now what i'm going to do is type git status now when i type git status notice we have changes not staged for commit then we have untracked files so by default any of the files that were associated with the last commit are being tracked by git so any files that existed in the previous commit or the most recent commit in your repository they're being tracked so any changes that you make to them git is able to detect we can see that because it's telling us that we've modified this test.pi file even though i haven't manually added this to the staging area and that's simply because it's being tracked however this change has not been staged so again there's kind of a difference we have tracked files and then we have a staged changes or staged files so this tells us that that change we made to test.pi is not staged so this means that if i decide to make a commit now this modification will not actually be included in this commit because i've not staged that change so whenever you make a commit it's only things that are staged that will be a part of it so to actually stage this what you need to do is re-add this file to the staging area you type git add and then test.py and now if i type git status it's green because we've actually now staged this change so now if i decide to make a commit and i say you know changed and we can just say test dot py then that will actually be a part of the commit we have one file changed one insertion all right so let me just show you a few more examples here i'm going to make a change to not tracked i'm just going to say console.log and we'll just log test like that my semicolon and again notice here now if i type git status still not being tracked and now if i try to make a commit so git commit hyphen m and i say you know js or something nothing's going to happen the reason nothing happens and we get this message is because i didn't make any changes and while there is just nothing to commit all right so hopefully that is clear but that is how you make commits that is kind of the staging area and tracked versus untracked files now what i'm going to talk to you about is branches so what a branch is is really a variation of the code base now i would like to say version of the codebase but that has a little bit of a different meaning so i think variation is a better way to describe it but essentially the point of branches is that you can kind of have a branch that is say your master branch and the master branch is where all of your production level code is that's where stuff that's been tested that has been code reviewed and all of that is kind of going to be sitting and living so you're 100 sure that all of that code is perfect clean and up to standard whereas you may have some other branches where you're say working on a feature or you're doing something that's not yet quite finished and that you don't want to be living in say the master code base that all of the other developers are looking at you want to be kind of off to the side so that a few people can work on it without interfering with the main code base so hopefully that makes sense but what you can actually do with branches is you can branch off from other branches so you have one main branch and you would have seen this when i typed git status that says we're on at the master branch so the master branch is your standard default branch and then what you can do is branch off of that branch so we'll be at right now a certain commit right at this point in time the last commit is kind of the commit that this branch is at and so if i decide to create a new branch i will make a copy of this master branch at this point in time so whatever the last commit had on it will be what is on the new branch and then once i go on that new branch i can make commits to that branch without affecting the master branch so it's easier just to see this with an example but to go to a new branch you type get checkout hyphen b and then the name of the branch hyphen b just stands for new branch so what i'm going to type now is let's say i don't know new hyphen feature is our branch name and now i've switched to a new branch new feature so now what i can do is make some changes on this branch so let's just you know print test a few times here let's save this and just like we would do in a regular git repository like we've done before so we're going to add this change the staging area so git add and then another dot pi and it's worth noting that if you just want to add all files to the staging area you can type git add dot this will add everything in this directory to the staging area including this not tracked file here so now if i type git status you can see that this not tracked file new file and another dot pi has been modified and now what i can do is make a commit so i can say git commit hyphen m and i can say uh new feature on new branch or something like it doesn't really matter what i'm typing here because this is just an example but again usually you want to make these descriptive all right so now i have two files changed three insertions and notice that i have kind of these two test things inside of here right i'm printing tests three times sorry so now what happens if i go back to the master branch so i've made a commit on this branch and this commit does not affect my master branch so to get back to the master branch you can type git checkout and then the name of the branch that you want to move to so when i type git checkout master you're going to notice that this file now changes why does this file change well the reason it changes is because the commit that i made on the previous branch didn't affect this branch so any changes there did not affect what was here and notice that this not track.js file actually was deleted when i switched back over to the master branch because right now it only lives on that other branch now this is kind of a little bit of strange behavior some of you may be wondering why this happens but if you don't add a file to the branch and then you add it to a secondary branch and then you swap back to the master branch well it like deletes that file because that's the change in the two branches but since it was on that last branch that we're on to that new feature branch but it's not on the master branch git just removes it when we check out the master branch so i'm just going to remove this right here but then i'll show you if i go back to new feature so git checkout new feature then now that file is going to show up again you can see not track.js shows up and now another.pi has those changes i made on the previous branch so this branch is what's known as one commit ahead of the master branch the reason it's one commit ahead of the master branch is because if we're comparing it to the master branch there's one commit on this branch that does not exist on the master branch so that is really the basics of branches and you can kind of branch out as many times as you want so from this branch i can create a new branch i can say git checkout hyphen b i can say you know extended or something call it whatever you want and now on this branch i can make any changes that i want so maybe i go in test.pi and maybe i just print hello world a bunch of times and i save that and maybe i even delete a file right maybe i delete this not tracked file so we'll delete that file then i add all of this stuff to the staging area and i make a commit so get commit hyphen m or sorry just m not am i'm going to say removed file and change test.py and then what i can do now is go back to the previous branch and you'll see that this will not have affected that so if i say git checkout new hyphen feature uh oops i have to spell checkout correctly so git check out new feature then what you're going to see is well we get this file back test.pi goes back to normal another.pi is what it's at and then i can even check back out to the master branch so get checkout master and then from master branch i could even check out extended right and then i go back there so that's how the checkout command works now if you want to view all of the branches that you have you can type git branch this will show you all of them and the asterisks one is the one that you are currently on and yeah that is kind of the basics of branches so now what i can show you is what's known as merging branches now this is where it gets a little bit complicated but the idea is that we've made some changes on a branch right now these changes are good we've tested them we're ready to say put them into the master branch well how do we go about doing that well what we need to do is merge these two branches together specifically we're going to take all of the commits on say this extended branch or whatever branch it is that we want to merge and we're going to overlay them or kind of lie them down onto the master branch so it's hard to maybe visualize this but we're taking all the commits on one of these branches that are different than this master branch and kind of adding them in and trying to you know combine these two branches together so what i'm going to do is i'm going to type git merge and then i can type the name of the branch that i want to merge with the existing branch however i don't really want to merge anything on the extended branch what i want to do is actually go to the master branch and then take the work that i've done on the extended branch and bring that to the master branch so i can say git check out master and then i can type git merge extended now what this is going to do is take all of the work from the extended branch and just overlay it onto this branch so uh now i'm going to have this another dot pie i'm going to have this test dot pi i'm going to have all that work here and there we go okay so that's all great but now what i want to show you is what's known as a merge conflict which happens all the time is really annoying and you definitely need to know how to fix so a merge conflict arises when you try to combine two branches together that have conflicting changes now it's best just to show you this with an example let's say that i actually change this text here to say text and i change this to maybe say tim is great and then i want to make a commit so i can say git add dot although i'm going to show you a little shortcut here if you want to make a commit and just add everything from the current directory to that commit you can type git commit hyphen am and then the message so this means like add everything and then the message so the message in this case is going to be just test okay so i've now made this commit notice that i didn't have to add anything before that because i added the a now what i'm going to do is get to check out the extended branch and now that i'm on the extended branch i'm going to make a change so here we have hello world or something so i'm going to change this line to just be an empty string i'm going to say git commit hyphen am and i'll just say modify test dot py okay so now i'm going to go back to my master branch so get checkout master we should see this file change in one second yes it does and now i'm going to merge the extended branch with this master branch so i'm going to say git merge extended like that now when i do this notice that i get a conflict it says auto merging test.pi conflict content merge conflict in test.pi automatic merge failed fix conflicts and commit the result so you can see we're getting a little thing here and it's saying that we have a conflict and notice that now in this file it actually shows us the version of our current branch and then the version of the extended branch and so what we now need to do is fix this conflict so to fix this conflict what you need to do is just modify the file so it's what you want it to look like so what we can do is say all right do i want the changes from this current branch do i want the changes from the extended branch or do i want a combination of both now what i can do is just delete this i also could leave this in leave this in if i want i don't have to remove that and then i'm going to save this file so once i've kind of fixed those changes then what i do now is i continue this merge okay so now that i fix this conflict what i do is i commit the result so this is what's known as a merge commit so i can say git commit hyphen m and i can just say merge extended okay so i realize i first need to add these files to the staging area sorry so i'm just going to type git commit hyphen am merge extended and then we are all good now notice it's not telling me there was any insertions or deletions the reason for that is because this was a commit simply to fix that merge conflict that we had so now the last thing that i need to show you is remote repositories so what i'm going to do is open up github and i'm going to create a new remote repository and be right back so now we've discussed most of the core commands and git that you need to know of course there's many many many more and i welcome you to look them up on your own however we're going to talk about remote repositories now so i'm on github you do need to make an account for this to work and what we're going to do is create a new repository so go and press this plus button up here and you can either import a repository do all this kind of stuff or create a new one which is what we're going to do so we're going to input the name here the name can be whatever i'm just going to call this test repo and then obviously it'd be a good idea to put a description you make this public or private i'll just make mine public for right now and then you have some options right here so if you are going to be importing an existing repository you don't want to select any of these now what that means is you've already worked on some code on your machine you're not starting completely from scratch and you want to actually upload that code to github then you wouldn't select any of these however if this is the first time you're kind of creating any repo whatsoever you would check one of these and i'll kind of go through both options with you in a second but for now we're not going to press these because we want to take the code that we have on our machine and kind of upload it to github so now i'm going to press create repository all right so now you can see some instructions are showing up on the screen on how we can actually upload our repository here now there's a few different ways to do this i'm going to show you the simplest way so notice it's kind of assuming here that we haven't already initialized a repository so it's telling us you know get a net get add readme git commit we've already done all of that and then what this actually does get branch hyphen m main is it renames the branch our master branch to main now the reason for this is github has recently changed master to main i won't go through the reasons behind why they did that but anyways on our local machine our main branch is called master and so we must rename it to main so kind of these three steps here what we need to follow along with the important thing is that you take this url if you grab this url here so whatever your kind of username is and then the name of the repo then you don't need to reference this page anymore i'll show you how we can do this so what i'm going to do now is i'm going to go here to my kind of terminal and i'm going to start by renaming my master branch to main so to do that i'm going to say git branch and first actually need to make sure i'm on the master branch so i'm going to say git checkout master i'm already on master that's good okay so now i'm going to rename it so git branch hyphen main i've now renamed this branch so now if i type get branch git branch like that you can see this is now called me all right now what i need to do is add what's known as the remote repository as kind of a like url to this repository so this line right here is what you're going to want to copy get remote at origin i'll just type it out git remote add origin now what this is saying is okay remote we want to add a location for a remote repository you can have multiple of these by the way you don't only have to have one and this is the name of that location so let's say you had like five or six different servers or you had different github repositories or something and you wanted to potentially push to multiple of them when i say push i just mean take the code locally and push it to those different repositories like upload it essentially to them then you could add different remote locations but git remote add the name of the location you can call this whatever you want but origin is kind of the standard and then space and then you're putting the actual url for that remote location which is well this and yours is going to be different so i'm going to press enter now it's going to add this as a remote if you type git remote you should actually see all of the ones you have in this case we just have origin so now all we need to do is type git push hyphen u origin master now what the hyphen u stands for is remember these settings and so git push is saying all right let's take all of this code that's local and let's put this somewhere else so when i say git push hyphen u it's saying all right we'll save the options i'm going to put here you then say where you actually want to push this code to and what branch you want to push it to so in this case i'm taking the origin that's that's where i want to send all of my local code to and i'm pushing the main branch so now if i type git push hyphen new origin main and i press enter it's going to take a second we will see that you know some like loading stuff is happening here and then if we actually go and refresh this page we're going to see that all of our code is now here we have another dot pi and test.pi on the main branch now what we can do though is we can push up multiple branches right so if i go to a different branch i say git checkout and let's just go to the extended branch like that i can actually push this branch again to the origin so i can say git and then i guess push origin and then i can choose the extended branch and now what this will do is push the extended branch so now if i actually refresh this here i can look at this little option here i can see that there's now another branch called extended and in this branch i will see some some different things so hopefully that is clear but that is how you push something up to a remote repository now sometimes other people will be pushing to a remote repository as well and your branch on your local machine may become outdated for example let's say we decide to add a readme here to the main branch i'm just going to keep it with a title that says test readme so i've just added that here from the actual github user interface and now this branch has one commit that is ahead of this branch right here so if i go ahead and get checkout main notice this says your branch is up to date with origin master that's actually not correct because now if i use the command git pull what this is actually going to do is pull all of the changes from the remote repository and update my local branch with those changes so here we now got a readme file and now if i come and look here we can see that this readme file does actually exist so hopefully that's kind of clear but if you want to get changes from the remote repository use git pull that will then update your local branch with those changes all right so now that we've covered that the last thing i want to show you is what is known as the git clone command so if you go into any kind of remote repository and you press this code button here you'll see that there is a url if you copy this url you can actually clone this repository to your local machine so in fact let's go to like a microsoft repository microsoft vs code github and i'll show you something that's not mine so here we go we have microsoft vs code i'm going to copy this url right here and then i'm going to be able to actually kind of clone this entire repository to my machine so what i can do now is i can kind of go in my command prompt here this is different from the repository we've been working on before so let me actually close this one and i can navigate say to my desktop so cd.dot and then i can type git clone and the url of the repository i want to clone when i type this it will likely take a second but it will start taking all of the files from that remote repository and actually putting them in a folder called vs code which is on my desktop alright so now if i go to my desktop i should see there's a folder called vs code there is a folder called vs code and it has all of that stuff from that remote repository that i just cloned so i'm going to delete that one because i don't really care about that but i was just showing you guys how you actually clone something now when you clone a repository by default there is a remote setup that is called origin so now if you make any changes to this repository on your machine and you want to actually change the remote repository what you can do is you can push whatever branch it is that you've worked on or whatever changes it is that you've made uh directly to the remote repository just by typing git push origin and then the name of the branch that you want to push you don't need to explicitly set the origin branch because when you clone a repository the origin is uh this url right here and so it's already set for you anyways i think that's all i want to cover for this video if you guys have any questions please feel free to leave them in the comments if you enjoyed make sure leave a like subscribe to the channel and i will see you in another youtube video

Original Description

⭐️ Join KodeKloud Engineer for free and upgrade your DevOps skills: https://bit.ly/3uywWm3 Welcome back to this Tech With Tim Git/GitHub tutorial! In this video, I'll be showing you everything you need to know about Git/GitHub to get started as a beginner, and as fast as possible. I'll talk about how Git and GitHub work, the differences between them, and what these commands actually do. This includes local repositories, tracked and untracked files, staging, branches, remote repositories, commits, and more! 📄 Resources 📄 Download Sublime Text: https://www.sublimetext.com/ Download Git: https://git-scm.com/downloads Git/GitHub Fundamentals (For Beginners): https://www.youtube.com/watch?v=DVRQoVRzMIY ⭐️ Timestamps ⭐️ 02:12 | Git vs Github 03:53 | Installing Git 04:14 | Init Local Repository 07:26 | Staging Area & Git Tracking 08:23 | Git Status 10:35 | Add and Remove From Staging Area 11:41 | Commits 15:00 | Branches 20:48 | Merging Branches 22:09 | Merge Conflicts 25:17 | Remote Repositories 31:00 | Git Clone ◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️ 💰 Courses & Merch 💰 💻 The Fundamentals of Programming w/ Python: https://tech-with-tim.teachable.com/p/the-fundamentals-of-programming-with-python 👕 Merchandise: https://teespring.com/stores/tech-with-tim-merch-shop 🔗 Social Medias 🔗 📸 Instagram: https://www.instagram.com/tech_with_tim 📱 Twitter: https://twitter.com/TechWithTimm ⭐ Discord: https://discord.gg/twt 📝 LinkedIn: https://www.linkedin.com/in/tim-ruscica-82631b179/ 🌎 Website: https://techwithtim.net 📂 GitHub: https://github.com/techwithtim 🔊 Podcast: https://anchor.fm/tech-with-tim 🎬 My YouTube Gear 🎬 🎥 Main Camera (EOS Canon 90D): https://amzn.to/3cY23y9 🎥 Secondary Camera (Panasonic Lumix G7): https://amzn.to/3fl2iEV 📹 Main Lens (EFS 24mm f/2.8): https://amzn.to/2Yuol5r 🕹 Tripod: https://amzn.to/3hpSprv 🎤 Main Microphone (Rode NT1): https://amzn.to/2HrZxXc 🎤 Secondary Microphone (Synco Wireless Lapel System): https://amzn.to/3e07
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Tech With Tim · Tech With Tim · 0 of 60

← Previous Next →
1 A* Path Finding Algorithm(Visualization)
A* Path Finding Algorithm(Visualization)
Tech With Tim
2 Python Programming Tutorial #1 - Variables and Data Types
Python Programming Tutorial #1 - Variables and Data Types
Tech With Tim
3 Python Programming Tutorial #2 - Basic Operators and Input
Python Programming Tutorial #2 - Basic Operators and Input
Tech With Tim
4 Python Programming Tutorial #3 - Conditions
Python Programming Tutorial #3 - Conditions
Tech With Tim
5 Python Programming Tutorial #4 - IF/ELIF/ELSE
Python Programming Tutorial #4 - IF/ELIF/ELSE
Tech With Tim
6 Python Programming Tutorial #5 - Chained Conditionals and Nested Statements
Python Programming Tutorial #5 - Chained Conditionals and Nested Statements
Tech With Tim
7 Python Programming Tutorial #6 - For Loops
Python Programming Tutorial #6 - For Loops
Tech With Tim
8 Python Programming Tutorial #7 - While Loops
Python Programming Tutorial #7 - While Loops
Tech With Tim
9 Python Programming Tutorial #8 - Lists and Tuples
Python Programming Tutorial #8 - Lists and Tuples
Tech With Tim
10 Python Programming Tutorial #9 - Iteration by Item (For Loops Continued...)
Python Programming Tutorial #9 - Iteration by Item (For Loops Continued...)
Tech With Tim
11 Python Programming Tutorial #10 - String Methods
Python Programming Tutorial #10 - String Methods
Tech With Tim
12 How to Overclock a NVIDIA GPU
How to Overclock a NVIDIA GPU
Tech With Tim
13 Python Programming Tutorial #11 - Slice Operator
Python Programming Tutorial #11 - Slice Operator
Tech With Tim
14 Python Programming Tutorial #12 - Functions
Python Programming Tutorial #12 - Functions
Tech With Tim
15 Python Programming Tutorial #13 - How to Read a Text File
Python Programming Tutorial #13 - How to Read a Text File
Tech With Tim
16 Python Programming Tutorial #14 - Writing to a Text File
Python Programming Tutorial #14 - Writing to a Text File
Tech With Tim
17 Python Programming Tutorial #15 - Using .count() and .find()
Python Programming Tutorial #15 - Using .count() and .find()
Tech With Tim
18 Python Programming Tutorial #16 - Introduction to Modular Programming
Python Programming Tutorial #16 - Introduction to Modular Programming
Tech With Tim
19 Python Programming Tutorial #17 - Optional Parameters
Python Programming Tutorial #17 - Optional Parameters
Tech With Tim
20 Python Programming Tutorial #18 - Try and Except (Python Error Handling)
Python Programming Tutorial #18 - Try and Except (Python Error Handling)
Tech With Tim
21 Python Programming Tutorial #19 - Global vs Local Variables
Python Programming Tutorial #19 - Global vs Local Variables
Tech With Tim
22 Python Programming Tutorial #20 - Classes and Objects
Python Programming Tutorial #20 - Classes and Objects
Tech With Tim
23 Cool VBS Script to Prank Your Friends!
Cool VBS Script to Prank Your Friends!
Tech With Tim
24 How to Overclock an AMD GPU
How to Overclock an AMD GPU
Tech With Tim
25 Best GPU'S For Mining Ethereum (2018)
Best GPU'S For Mining Ethereum (2018)
Tech With Tim
26 Recursion and Memoization Tutorial Python
Recursion and Memoization Tutorial Python
Tech With Tim
27 Ethereum Mining Rig - Hardware Guide
Ethereum Mining Rig - Hardware Guide
Tech With Tim
28 Pygame Tutorial #1 - Basic Movement and Key Presses
Pygame Tutorial #1 - Basic Movement and Key Presses
Tech With Tim
29 How to Install Pygame (Windows 8/10)
How to Install Pygame (Windows 8/10)
Tech With Tim
30 How to Trade Your Cryptocurrency (Bitcoin, Ethereum etc.) For Cash!
How to Trade Your Cryptocurrency (Bitcoin, Ethereum etc.) For Cash!
Tech With Tim
31 How to Mine Ethereum 2018 - WORKING (Super-Easy)
How to Mine Ethereum 2018 - WORKING (Super-Easy)
Tech With Tim
32 Microphone Comparison - $10 Mic vs $150 Mic (Blue Yeti USB)
Microphone Comparison - $10 Mic vs $150 Mic (Blue Yeti USB)
Tech With Tim
33 Pygame Tutorial #2 - Jumping and Boundaries
Pygame Tutorial #2 - Jumping and Boundaries
Tech With Tim
34 Pygame Tutorial #3 - Character Animation & Sprites
Pygame Tutorial #3 - Character Animation & Sprites
Tech With Tim
35 Pygame Tutorial #4 - Optimization & OOP
Pygame Tutorial #4 - Optimization & OOP
Tech With Tim
36 OBS Studio Tutorial - Best OBS Settings
OBS Studio Tutorial - Best OBS Settings
Tech With Tim
37 Linear Search Algorithm - Python Example and Code
Linear Search Algorithm - Python Example and Code
Tech With Tim
38 Make Any Mic Sound AMAZING! (WITH OBS)
Make Any Mic Sound AMAZING! (WITH OBS)
Tech With Tim
39 Binary Search Algorithm - Python Example & Code
Binary Search Algorithm - Python Example & Code
Tech With Tim
40 Pygame Tutorial #5 - Projectiles
Pygame Tutorial #5 - Projectiles
Tech With Tim
41 Pygame Game - Mini Golf
Pygame Game - Mini Golf
Tech With Tim
42 Pygame Tutorial - Projectile Motion (Part 1)
Pygame Tutorial - Projectile Motion (Part 1)
Tech With Tim
43 Pygame Tutorial - Projectile Motion (Part 2)
Pygame Tutorial - Projectile Motion (Part 2)
Tech With Tim
44 Pygame Tutorial #6 - Enemies
Pygame Tutorial #6 - Enemies
Tech With Tim
45 Pygame Tutorial #7 - Collision and Hit Boxes
Pygame Tutorial #7 - Collision and Hit Boxes
Tech With Tim
46 Pygame Tutorial #8 - Scoring and Health Bars
Pygame Tutorial #8 - Scoring and Health Bars
Tech With Tim
47 Cloud Mining vs. Hardware Mining - 2018
Cloud Mining vs. Hardware Mining - 2018
Tech With Tim
48 How to Install Pygame on Mac OSX (Fast-Simple)
How to Install Pygame on Mac OSX (Fast-Simple)
Tech With Tim
49 Pygame Tutorial #9 - Sound Effects, Music & More Collision
Pygame Tutorial #9 - Sound Effects, Music & More Collision
Tech With Tim
50 Pygame Tutorial #10 - Finishing Touches & Next Steps
Pygame Tutorial #10 - Finishing Touches & Next Steps
Tech With Tim
51 How to Fade Your Screen in Pygame [CODE IN DESCRIPTION]
How to Fade Your Screen in Pygame [CODE IN DESCRIPTION]
Tech With Tim
52 How to Create a Button in Pygame [CODE IN DESCRIPTION]
How to Create a Button in Pygame [CODE IN DESCRIPTION]
Tech With Tim
53 Pygame Side-Scroller Tutorial #1 - Scrolling Background/Character Movement
Pygame Side-Scroller Tutorial #1 - Scrolling Background/Character Movement
Tech With Tim
54 Pygame Side-Scroller Tutorial #2 - Random Object Generation
Pygame Side-Scroller Tutorial #2 - Random Object Generation
Tech With Tim
55 Pygame Side-Scroller Tutorial #3 - Collision
Pygame Side-Scroller Tutorial #3 - Collision
Tech With Tim
56 Pygame Side-Scroller Tutorial #4 - Scoring and End Screen
Pygame Side-Scroller Tutorial #4 - Scoring and End Screen
Tech With Tim
57 How to Create A Message Box in Python - Tkinter
How to Create A Message Box in Python - Tkinter
Tech With Tim
58 Is Ethereum Mining Still Profitable - Is It Worth It (April 2018)
Is Ethereum Mining Still Profitable - Is It Worth It (April 2018)
Tech With Tim
59 How to Run MAC OSX on a WINDOWS PC (Clover Boot-loader)
How to Run MAC OSX on a WINDOWS PC (Clover Boot-loader)
Tech With Tim
60 Programming Problem #1 - Alphabet Soup (Beginner/Novice)
Programming Problem #1 - Alphabet Soup (Beginner/Novice)
Tech With Tim

This video tutorial provides a comprehensive introduction to Git and GitHub, covering the basics of version control, branching, merging, and collaboration. It is designed for beginners and provides hands-on examples and exercises to help learners understand the concepts.

Key Takeaways
  1. Download and install Git
  2. Initialize a local Git repository
  3. Create and manage branches
  4. Commit changes and push code to a remote repository
  5. Use Git checkout and Git merge to manage branches
  6. Resolve merge conflicts
  7. Use Git push and Git pull to update remote and local repositories
💡 Version control and collaboration are essential skills for developers, and Git and GitHub provide a powerful toolset for managing code and working with others.

Related Reads

Chapters (12)

2:12 | Git vs Github
3:53 | Installing Git
4:14 | Init Local Repository
7:26 | Staging Area & Git Tracking
8:23 | Git Status
10:35 | Add and Remove From Staging Area
11:41 | Commits
15:00 | Branches
20:48 | Merging Branches
22:09 | Merge Conflicts
25:17 | Remote Repositories
31:00 | Git Clone
Up next
Emergent Ai Tutorial || How To Use Emergent Ai Website Builder (Full Guide)
Chris Tech Guide
Watch →