Git Tutorial For Dummies

Nick White
4 Apr 202119:25

Summary

TLDRThis video script offers a simplified explanation of Git and GitHub, essential tools for programmers. The presenter breaks down complex concepts into digestible parts, likening Git to a 'memory card for code' to save progress locally. They introduce basic Git commands, such as 'git init', 'git add', and 'git commit', to track changes. The script also touches on GitHub as a platform for sharing code and collaborating with others, explaining how to push and pull changes. The tutorial aims to demystify version control for beginners, emphasizing the importance of these tools in programming.

Takeaways

  • 😀 Git and GitHub are two different things, with Git being a local version control system and GitHub being a remote platform for hosting and collaborating on code.
  • 🛠️ Git is essential for programming; it's like a 'memory card' for saving the progress of your code locally on your computer.
  • 📁 Git Bash is necessary for Windows users to access Git, as it's not pre-installed like on Mac or Linux systems.
  • 🔧 Basic Git commands include 'git init' to start a new repository, 'git add' to stage changes, and 'git commit' to save those changes with a message.
  • 📝 The 'git log' command allows you to view the history of commits, which is useful for tracking changes over time.
  • 🔄 'git checkout' can be used to revert to a previous commit or state of the project, but it puts you on a different 'branch' of the timeline.
  • 🌐 GitHub is a platform for sharing code with others, allowing you to push your local commits to a remote repository where others can access them.
  • 🔄 'git pull' is used to update your local repository with changes from GitHub, while 'git push' uploads your local changes to the remote repository.
  • 🔄 Branches in Git allow for diverging from the main code without affecting it, enabling multiple people to work on different features or fixes simultaneously.
  • 🔀 Merging branches combines changes from one branch into another, often used to integrate contributions from others into the main codebase.
  • 📊 GitHub 'green squares' represent commits made to a repository each day, but they don't necessarily reflect the quality or impact of the contributions.

Q & A

  • What is the primary purpose of Git according to the video?

    -Git serves as a 'memory card' for code, allowing developers to save their progress locally on their computers, ensuring they don't lose work if files are accidentally deleted.

  • Why is Git essential for programming?

    -Git is essential for programming because it is one of the most basic tools needed for version control, alongside terminal and command line skills, and is necessary for successful programming.

  • What does the 'git init' command do?

    -The 'git init' command initializes an existing directory as a Git repository, setting it up to track changes with Git.

  • What does 'git add .' do in the context of the video?

    -The 'git add .' command stages all changes made in the project since the last commit, preparing them to be saved with the next 'git commit' command.

Outlines

00:00

🤓 Simplifying Git for Beginners

The speaker introduces Git as an essential tool for programmers, comparing it to a memory card for saving code progress. They emphasize that Git comes pre-installed on Mac and Linux systems, while Windows users need to download Git Bash. The tutorial aims to simplify Git concepts, starting with basic commands like 'git init' to set up a repository and 'git add' followed by 'git commit' to save changes, including the use of commit messages for clarity. The speaker also demonstrates how to revert to previous versions of code using 'git log' and 'git checkout', providing a practical example of creating and managing files within a project.

05:02

🔄 Understanding Git Commits and GitHub

This section delves deeper into the Git process, explaining the use of 'git add .' to stage all changes before committing them with 'git commit -m'. The importance of commit messages for tracking changes is reiterated. The tutorial then introduces GitHub as a platform for sharing and collaborating on code, detailing the process of creating a repository and linking it to a local project folder using 'git remote add origin'. The concept of pushing commits to GitHub is covered, allowing others to access and review the code, as well as the ability to track the history of changes made.

10:04

🛠️ Exploring Branches and Collaborative Workflows

The speaker discusses the concept of branches in Git, likening them to separate game saves that allow developers to experiment without affecting the main codebase. They demonstrate how to create a new branch with 'git checkout -b', make changes, and commit them to this branch. The tutorial also covers merging branches back into the master branch using 'git merge' and the process of pushing branches to GitHub, where others can review and suggest changes through pull requests. The importance of keeping local repositories in sync with GitHub is highlighted, using 'git pull' to update local copies with remote changes.

15:05

🔄 Syncing Local Repositories with GitHub and Final Thoughts

This final paragraph focuses on the importance of keeping local repositories synchronized with GitHub to avoid discrepancies between the two. The speaker explains how to pull changes from GitHub to the local machine using 'git pull origin master' and emphasizes the simplicity of the basic Git commands needed for most tasks. They touch on advanced topics like rebasing but decide to save it for a future tutorial. The speaker also addresses the social aspect of GitHub, warning against focusing solely on 'green squares' as a measure of productivity, and encourages viewers to make meaningful contributions instead. The video concludes with a promise of a summary of commands on a black screen for easy reference.

Mindmap

Keywords

💡Git

Git is a version control system that allows developers to track changes made to their code over time. It is essential for managing projects, especially when working with teams. In the video, Git is described as a 'memory card for code,' emphasizing its role in saving progress locally on one's computer, which is crucial for avoiding loss of work, as illustrated when the instructor creates an 'index.html' and 'app.css' file and saves their progress.

💡GitHub

GitHub is a web-based platform that hosts and facilitates collaboration on projects using Git. It allows users to upload their code to a remote repository where others can access it. The video explains GitHub as a platform for sharing and collaborating on code, likening it to uploading progress to the internet so that others can 'download [the] code and then go through all [the] saved progress'.

💡Git Bash

Git Bash is a tool that allows users of the Windows operating system to use a Bash-like terminal to interact with Git repositories. In the context of the video, it is mentioned as something that Windows users need to download to utilize Git, as it is not pre-installed like on Mac or Linux systems.

💡Repository

A repository in Git is a directory that contains all the files and folders associated with a project, along with a subdirectory that stores all the version control data. The video script uses the term 'repository' to describe a folder on GitHub where the code is stored and shared, like when the instructor creates a new repository named 'get video'.

💡Commit

In Git, a commit is a saved state of a project's files at a particular point in time. The video describes committing as 'saving progress' with a message that describes the changes made, such as 'add html and css file', which helps in tracking the history of changes.

💡Staging Area

The staging area is where changes are prepared before they are committed to the Git repository. Although not explicitly named in the video, the concept is mentioned when the instructor talks about using 'git add' to specify what changes to save before committing.

💡Branch

A branch in Git represents a different line of development in a project. The video introduces branches as a way to diverge from the main code without affecting it, allowing developers to make changes in isolation, such as creating a 'new branch' for experimental features.

💡Merge

Merging in Git is the act of bringing changes from one branch into another. The video explains that changes made in a branch can be merged into the 'master' branch if they are approved, as demonstrated by the instructor merging a 'new branch' with a 'python file' into the master.

💡Pull Request

A pull request in GitHub is a method for proposing changes from a branch to the main branch. The video describes pull requests as a way for others to suggest changes to the project owner, who can then review and merge them into the main codebase if they are satisfactory.

💡Push

Pushing in Git is the act of uploading local commits to a remote repository. The video script mentions pushing as a way to 'push [commits] up to GitHub', ensuring that the remote repository is updated with the latest changes made on the local machine.

💡Pull

Pulling in Git is the process of downloading changes from a remote repository to a local one. The video explains pulling as necessary to keep the local computer 'synced up to GitHub', such as when the instructor pulls down changes from the 'master' branch after a merge.

Highlights

Git and GitHub are two different things, with Git being a software for version control and GitHub being a platform for collaboration.

Git is pre-installed on Mac or Linux computers, while Windows users need to download Git Bash.

Git is essential for programming as it acts like a 'memory card' for saving code progress locally.

Git commands include 'git init' to start a new repository, 'git add' to stage changes, and 'git commit' to save them with a message.

The 'git log' command allows you to view the history of saved changes with their respective dates and commit messages.

GitHub serves as a remote platform to store and share code, enabling collaboration among developers worldwide.

Creating a repository on GitHub involves setting up a new folder and following the instructions to link it with your local project.

Pushing changes to GitHub with 'git push' allows others to access and collaborate on your project.

Branches in Git allow developers to work on different features or experiments without affecting the main codebase.

Merging branches combines changes from one branch into another, typically from a feature branch to the master branch.

Pull requests on GitHub enable developers to submit changes for review and potential merging into the main project.

Keeping your local repository in sync with GitHub is crucial for collaborative projects to avoid conflicts.

Git rebase is a more advanced topic that was not covered in this tutorial but may be addressed in a future video.

The video emphasizes the simplicity of Git and GitHub, aiming to demystify common misconceptions about their complexity.

The presenter uses an analogy of a 'time machine' to explain the concept of reverting to previous commits in Git.

The tutorial concludes with advice on focusing on meaningful contributions rather than superficial GitHub 'green squares'.

A black screen with a summary of Git commands is provided at the end of the video for easy reference.

Transcripts

play00:00

every resource about git or github

play00:03

if you look up a git tutorial they over

play00:06

complicate it

play00:07

and i've always said this you might not

play00:10

like this if you're super analytical and

play00:12

you want me to talk

play00:13

like a scientist but the best way for

play00:16

you to understand me

play00:17

is if i talk to you like you're an idiot

play00:20

and when i was in college that's exactly

play00:22

what i wanted for my professors

play00:24

teach me like i'm a five-year-old

play00:26

because that's how i think

play00:28

so i'm gonna break down get instead of

play00:31

you going and watching the

play00:32

six part tutorial or paying or whatever

play00:36

it's really very simple if i teach you

play00:40

it

play00:40

in hey i'm gonna teach you like

play00:44

you are a child and you are my children

play00:47

and if you're my new child meaning

play00:49

you're just born

play00:52

then hit subscribe and like the video

play00:55

alright so this is unscripted but first

play00:57

thing i'm going to say

play00:59

get this out there git and github

play01:03

are two different things i'm going to

play01:06

talk about both of them in this video

play01:08

but i'm going to start with git so let's

play01:11

begin

play01:12

what is git well

play01:16

git is a software that comes with your

play01:20

computer

play01:21

and installed on your computer if you

play01:23

have mac or linux

play01:25

so if you have a macbook or an apple

play01:27

computer you have git already

play01:28

or linux computer you have you already

play01:30

have git if you have windows

play01:32

you have to download it so you're gonna

play01:34

have to download something called git

play01:36

bash you go to the website you download

play01:38

it and then it's like a little terminal

play01:40

window use that is git something you

play01:43

need

play01:43

to know yes git is something you need to

play01:46

know you are not going to be

play01:48

successful at programming without

play01:49

knowing git everyone needs to know it

play01:51

it's like one of the most basic things

play01:53

it's like terminal you need to know term

play01:55

you need to know a command line

play01:56

you need to know git and then you need

play01:58

to know how to code okay

play02:00

so what is git do why do i need to know

play02:02

it here we go

play02:03

this is as simple as it gets simple as

play02:06

it gets get

play02:08

is a memory card for code

play02:14

if you have a project with a bunch of

play02:17

files

play02:18

html css javascript

play02:21

whatever programming language you want

play02:24

you want just like how you have a video

play02:27

game

play02:28

you want to save your progress as you go

play02:32

that way if you die you don't lose

play02:35

all of your progress so with git

play02:39

every so often you're going to enter a

play02:42

command

play02:43

to save your progress now this is

play02:46

locally on your computer

play02:49

nobody else can access this you have

play02:51

this on your computer

play02:52

so i'm going to go through an example

play02:54

now i'm going to create a folder

play02:57

get video i'm going to go into my git

play03:01

video and then i'm going to make an

play03:05

index.html file and an app.css file

play03:08

so i made a folder and i made an html

play03:11

file

play03:11

and a css file now if one of these files

play03:14

gets deleted

play03:15

i didn't save my progress it's gone

play03:18

forever

play03:19

i don't know what was in the file if i

play03:21

wrote a bunch of html or css

play03:23

one of the files gets deleted poof oh

play03:25

well

play03:26

i can't do anything about that it's gone

play03:28

forever but if i use

play03:30

get and i save that i made these files

play03:34

i could save them with the contents of

play03:36

the files

play03:37

and when one gets deleted i can go back

play03:40

to my saved progress now to use git

play03:44

you have to know a few commands there's

play03:46

only a few

play03:47

and it's not that hard to understand the

play03:50

first one

play03:51

is initializing your

play03:54

folder or project with git

play03:57

to do that you have to have get

play03:59

downloaded and then you type

play04:01

get init initialized empty git

play04:05

repository

play04:06

great so that's the same thing as you're

play04:09

putting a memory card

play04:10

into your game system because you

play04:14

obviously can't save the game without

play04:16

memory

play04:17

so here we go now we can use git we want

play04:20

to

play04:20

save our progress how do we do that well

play04:24

git add is what you want to save

play04:28

we can save all of our progress

play04:32

meaning all of our changes since the

play04:35

last time we saved

play04:37

or we could just save a very specific

play04:40

thing

play04:41

so after git add you want to put

play04:44

either maybe a file that you want to

play04:47

save

play04:47

so i could just save index.html

play04:51

but if app.css gets deleted it's gone

play04:53

forever but i could just save

play04:55

any changes i've made to index.html

play04:58

or i can save everything so

play05:02

git add space period would save

play05:04

everything

play05:05

that i've done since the last time i

play05:07

saved i almost

play05:09

never commit a specific file i

play05:12

usually push changes on everything

play05:15

so in 95 cases

play05:19

you are going to use git add period and

play05:22

commit

play05:23

all of the changes that you've made okay

play05:27

so now i've said what changes i'm saving

play05:30

which i chose to save everything now if

play05:32

we were to get technical

play05:34

i have added all files to the staging

play05:37

area

play05:37

but that might just confuse you so don't

play05:39

even think about that i've added the

play05:41

files i want to commit i've added

play05:42

everything

play05:43

i am going to save everything now git

play05:46

commit

play05:47

actually commits those changes to memory

play05:52

so you type git commit and then you need

play05:55

to do

play05:56

dash m for a message

play05:59

dash m and describe the changes

play06:03

describe the save this way when we look

play06:05

back if we want to go back to this save

play06:08

progress we know what we're going back

play06:10

to so you make the message

play06:12

about what you're saving makes sense so

play06:14

i'm going to say add

play06:15

html and css file

play06:21

two files changed you see that i created

play06:23

two files

play06:24

it got saved that progress got saved

play06:28

now if i delete my html file

play06:33

and i add a

play06:36

javascript file well now i've made some

play06:39

more changes

play06:41

and i could save my game again so now we

play06:44

only have

play06:45

app.js and app.css so let's do it again

play06:49

save all my changes git commit dash m

play06:53

delete html and add js

play06:58

so i've saved my progress twice now

play07:01

what we've gone over so far is how to

play07:03

add the files you want to save

play07:05

and then commit with the message to

play07:08

you know save the progress of the

play07:10

message

play07:12

and get in it to you know start it up

play07:15

now

play07:15

if we type git log we can look

play07:20

at our saved the times we saved

play07:23

look at this so this is the first time

play07:25

we saved

play07:27

it it's a log get log it's a log of all

play07:29

of your

play07:30

saved changes add html and css

play07:36

just gives you the time gives you the

play07:37

date fantastic and then it gives you

play07:39

this little hash code used to go back to

play07:42

it

play07:43

and then look at this there's our second

play07:45

one time and date

play07:46

with the hash code now if i want to go

play07:49

back

play07:49

to my previous progress with the html

play07:53

and the css

play07:54

where we saved i can copy this

play07:57

like hash code thingy majig

play08:01

and then look at this get checkout to

play08:04

check out that commit

play08:08

let's see where we're at

play08:11

oh we're back to our

play08:14

first saved progress

play08:17

now here's the tricky part is that when

play08:20

we go back in time

play08:22

we're in a different branch

play08:25

so so now timelines

play08:29

are getting messed up and we're in a

play08:30

time machine oh god dude maybe

play08:33

maybe i shouldn't go with the time

play08:35

machine analogy

play08:37

i want to keep this i want to keep this

play08:39

organized and i don't want to

play08:40

give too much to you to confuse you now

play08:43

what is github

play08:45

now what is git hub well github

play08:49

is a website

play08:53

and it's the same thing as bitbucket and

play08:56

it's the same thing as git lab

play08:59

they are websites where i just

play09:02

put the stuff that's on my computer all

play09:04

my saved progress is on my computer

play09:06

and i put it all on the internet

play09:09

so that other people can download my

play09:13

code

play09:14

and then go through all my saved

play09:16

progress they could go back and forth

play09:17

they could jump through time loops and

play09:19

go back to my save progress and look

play09:21

through all my code

play09:22

and do whatever the hell they want to do

play09:24

so how do you get your code onto github

play09:27

well you make a github

play09:30

profile and then you make a repository

play09:34

repository means folder

play09:35

folder means repository same thing so

play09:38

you're on your thing you go to

play09:39

repositories on your profile

play09:41

you hit new you hit new repository you

play09:43

type the name of it

play09:44

mine was get video description you could

play09:47

have a public or private whatever

play09:50

so now once you do that it gives you

play09:53

instructions

play09:55

to hook this up to your folder on your

play09:57

computer

play09:58

my folder is on my computer i want it on

play10:00

the website

play10:01

it tells me how to do that it gives you

play10:03

specific instructions

play10:05

it says get remote add origin

play10:08

this is a command to just hook it up to

play10:12

the website

play10:13

so let's just do that alright ready boom

play10:16

okay i added the origin

play10:17

and now this is called a push so you

play10:20

have your saved

play10:21

commits you save progress and then you

play10:24

push it you push to the website

play10:38

okay and now we go to the website

play10:42

and there is our code people ladies and

play10:45

gentlemen

play10:46

there is our code the css the js

play10:50

and then the two commits that we can

play10:53

look through

play10:53

here's the first one with the html css

play10:56

here's the second one now someone else

play11:00

can go to my profile and see this and

play11:02

they can download it onto theirs

play11:04

and that's why github is something you

play11:06

have to know

play11:07

so you can work with others on projects

play11:09

from different areas in the world

play11:11

because whenever i save my progress i

play11:14

push it up to github

play11:15

and whenever they want to see what i'm

play11:17

doing they go to my github

play11:19

and they can just pull my code down or

play11:21

they can just look at it on my profile

play11:24

now do i want to go into branches right

play11:26

now no

play11:28

i don't this video's already been long

play11:30

enough but i will

play11:32

now there's these things called branches

play11:36

so the by default all the code is on

play11:39

a master branch don't overthink this

play11:43

i know you're overthinking that that

play11:45

just means that's regular

play11:46

that's just regular that's just you

play11:48

coding you're saving your changes they

play11:50

get saved to the master memory

play11:52

but someone can go off like in a video

play11:55

game they

play11:56

could trail off your game and then

play11:59

you know when you play a video game and

play12:00

then you do something and it's on your

play12:02

friend's account

play12:03

but you don't want to save onto their

play12:05

account because they still might want to

play12:07

play what you just did

play12:08

so you save it into a new file so that's

play12:12

a different branch

play12:13

someone could download my code make

play12:15

changes

play12:16

and they do it on a different branch so

play12:19

if we go back to our folder

play12:21

and i type git checkout dash b that's

play12:24

going to make a new

play12:26

branch and i'm going to call it new

play12:28

branch you put the name of the branch

play12:30

you want to make

play12:32

so now i have a new branch open and

play12:35

there's a master one still but now i

play12:37

have new branch and i can

play12:39

make changes and it won't affect

play12:42

the main game saving the main code

play12:45

getting saved

play12:46

it will just be my own branch trailing

play12:49

off of that code

play12:51

so i'm going to add a python file

play12:54

app.pi and i'm going to

play12:58

commit i'm going to do git add

play13:00

everything add all my changes

play13:02

git commit add python file

play13:07

and now if i do a git log you can see i

play13:09

got my three commits

play13:11

and this but this is for my new branch

play13:15

i'm on new branch here but this stuff is

play13:18

from

play13:18

master now the cool part about branches

play13:24

is that i can merge my

play13:27

changes on new branch into master if i

play13:31

want to

play13:32

or i cannot do that if i don't want to

play13:35

so if i want to merge all of if i change

play13:37

like 50 things on my new branch

play13:40

i can push them all into the main one if

play13:42

i feel like it

play13:44

and if i don't want to then fine i don't

play13:46

i could delete the branch i could do

play13:47

whatever i want it's

play13:48

irrelevant until it goes into master so

play13:51

the point of branches

play13:54

is so that other people can download

play13:56

your project

play13:57

they can go and make changes on a

play13:59

separate branch

play14:01

and then they could come to you and be

play14:02

like dude i made all these changes i

play14:04

didn't want to mess up what you were

play14:05

doing

play14:06

but hey look at these if you like them

play14:08

merge them into what you are doing

play14:10

and then i can so what they would do on

play14:12

github

play14:14

is they would say hey let's push origin

play14:17

new branch you could push the new branch

play14:20

up to github

play14:24

oh look at that there's two branches on

play14:26

github now one of them is new branch

play14:28

one of them is master so if someone

play14:31

wanted to say hey dude check out my

play14:33

progress

play14:34

they could do what's called a poll

play14:36

request

play14:37

and whoever owns the repository is gonna

play14:39

get that and look it over and say hey

play14:41

these are good or not

play14:42

so you could say hey dude i changed

play14:45

some stuff check it out and then you

play14:49

create it

play14:51

and then whoever owns the project might

play14:53

be like oh this guy wanted to change

play14:55

some stuff

play14:56

let's see what he changed oh they looked

play14:58

he added a python file maybe i want that

play15:01

so that looks pretty good good job dude

play15:03

you made some good changes

play15:05

and then you merge it into the master

play15:08

and then you confirm the merge

play15:10

and look at that dude now it's merged

play15:12

into the master

play15:14

and you know dude it's got the the

play15:16

commits

play15:17

from the new branch they got pulled into

play15:20

the freaking

play15:22

master branch so now everything is in

play15:25

the main area

play15:26

because the guy liked the new branch now

play15:29

one thing that's important is you always

play15:31

want your local computer

play15:33

synced up to github you want these

play15:36

connected

play15:37

because it could get out of whack you

play15:39

need these to be at the same spot

play15:41

so when there's changes on github that

play15:43

you don't have on your computer

play15:44

you want to pull those changes down

play15:48

to your computer you push when you have

play15:51

changes that github doesn't have

play15:53

you push them up to github when github

play15:56

has changes that you don't have

play15:57

you pull them down from github

play16:00

so i will do git pull origin master

play16:04

and now i pulled down those changes that

play16:07

python

play16:08

merging that went on up there i got them

play16:10

now on my computer

play16:12

and we could check that out we got the

play16:13

merge we got the python file

play16:16

and everything is now on our local

play16:19

computer now for rebasing

play16:22

i do need to get a little more technical

play16:25

with this

play16:26

and i think i might make a future video

play16:29

specifically about get rebase

play16:31

but these are the basics and you can

play16:34

probably get by

play16:36

on just these and maybe pick up rebasing

play16:39

on your own

play16:40

i don't want to over complicate or make

play16:42

you overthink

play16:43

these are the basics this is all you

play16:45

need to get started using git

play16:47

and github you don't even need to get

play16:49

into branches really because you might

play16:50

not even be working with those right now

play16:52

just pushing your code up pulling your

play16:54

code down

play16:56

making the changes the save changes

play16:59

when there's stuff on the github that

play17:01

you don't have

play17:02

pull it when there's stuff on your

play17:03

computer github doesn't have

play17:05

push it you do not need github to use

play17:08

git

play17:09

and you you probably do need to get to

play17:12

use github but

play17:13

you don't need a github if you just want

play17:15

to save your changes

play17:17

but you need a github probably when you

play17:19

want to collaborate with other people

play17:20

in different places and you'll probably

play17:22

need it for like every project

play17:23

ever now some parting words about github

play17:26

that you might be interested in

play17:29

people will judge me because i don't

play17:32

have all these green squares

play17:34

so if you want to set up some kind of

play17:37

auto commit

play17:37

thing you get a green square if you push

play17:40

code to github every day

play17:42

so people like to code every day and

play17:45

have all these squares look green

play17:47

and sometimes they don't push anything

play17:50

useful

play17:50

they might specifically change or add a

play17:54

comment

play17:55

just so that they have a green square on

play17:57

github

play17:58

these are people called clout chasers

play18:03

specifically github clout chasers and uh

play18:06

they don't

play18:07

make impactful contributions to projects

play18:10

and they specifically want green squares

play18:14

to flex on other developers

play18:16

you can be one of them or you can let it

play18:19

go

play18:20

and just move through and

play18:23

actually you know do real things with

play18:26

your life

play18:27

so that is it for this video i hope i

play18:29

made this very easy for you to

play18:31

understand

play18:32

and i'm going to put a black screen at

play18:34

the end

play18:35

with all the commands we went over and

play18:38

there's only a few

play18:39

and it's pretty straightforward so that

play18:42

is why this video is the best get

play18:44

tutorial out there

play18:46

please like and subscribe to show me

play18:48

support

play18:49

thanks for watching and i'll see you in

play18:51

the next video

play18:53

video bye

play19:24

you

Rate This

5.0 / 5 (0 votes)

Related Tags
Git BasicsGitHub TutorialVersion ControlBeginner FriendlySoftware DevelopmentCode SavingProgramming GuideCollaboration ToolBranch ManagementOpen Source