Up and Running with Git Transcripts
Chapter: Introducing Git
Lecture: Git is distributed source control
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
In our why git section. And we said that git is distributed and that that was an advantage. That was one of the main reasons people started using GIT.
0:10
There are other distributed source control systems probably most notably is mercurial but git is by
0:16
far the most popular one. So in this short video we're going to talk about what does it mean to be a distributed source control system,
0:26
There's you you are developer and throughout this course you're going to be represented by this blue
0:32
woman with curly braces on her t shirt and you have a git repository.
0:38
That's what this little icon at the bottom is this bottle looking thing with a git logo on it. This is your repository.
0:45
It holds not just your source code but every version and every change made to that
0:51
source code either by you or other people who may be working on this project. All right. So this is your copy of the repository.
1:01
There's a definitive centralized repository as well. You can have multiple ones but generally there's just one centralized one and this is the
1:11
one that other people might come and discover and look at this one. That's your copy is just on your computer.
1:20
This other one. Some hosting server probably git hub. But it could be other places. As we've said, it could be git lab could be a server reset up.
1:29
There are many different places where you might host this but this is another server. You've got a copy on your system.
1:35
Now, how did that copy get there? You have to do what's called a clone. But the way you should really think of this is copy because a copy is not
1:45
connected to or linked back to the original thing. It's like I went over there,
1:49
I grabbed those files and I dropped them here and it took all the history and changes that the hosted system knew about and it put it on the system,
1:59
on your computer, on your file system after that they are disconnected. So any work that you might do, Any updates that you might make,
2:07
you make that to your local Git repository Not the shared one. Just your file system.
2:13
That local file system version knows how things used to be and how it is.
2:18
But anything a team member might do or someone else might do is completely unrelated to this. The hosting server could change.
2:28
It's not going to affect you. Right. If you want those changes from the server either to take what updates you've
2:35
done and move them over to the server, you have to push those changes in a conscious separate step.
2:40
You're like, I've done a bunch of work and now I'm ready to synchronize with that hosted server that distributed server.
2:46
So I'm gonna push my changes or maybe there were changes done some other way. But other people on that server,
2:52
I can pull those changes back and re synchronize so we can do this synchronization. But other than that step, there's no connection between them,
3:00
You have team members. Maybe this is an open source project. Either of other contributors, You can tell them they're on your team because they also
3:07
have the curly brace shirt, right as they work on it. They also have copies of this, git repository on their local computers,
3:15
their laptops, desktops or whatever. When they make changes, they're just changing their local version as well.
3:21
And so it's not until they decide to synchronize with a push pull that maybe they're
3:27
going to see the changes that you've created or that one of the other person made and then they got those changes.
3:33
Alright, so everybody, your team members or open source contributors as well as you
3:38
have this own copy they got through this concept of cloning and in order to synchronize
3:45
those changes, there's a second step not just save it to the repository, save it to source code that's committing,
3:52
but you have to synchronize it traditionally the way this has worked,
3:55
there's one and only one place that everybody committed to that's the centralized source control.
4:01
That means you have to have write access to it and you're making permanent changes for
4:04
everyone. So you can see there's way more flexibility in the system at the cost of a tiny bit of complexity but you'll get used to it right away,
4:13
I'm sure. So git is distributed when they say it's distributed source control this is what they mean.