The difference between 1.SVN and GitHub
SVN: Integrated: We need to prepare a central server when multiple people develop a project, and then everyone is going through this central server for a code acquisition and a commit to the code, so that all version control and repository are stored on our central server, we have no local , in this case:
we can only develop by connecting to this central server .
If the connection is not on the central server, then there is no way to develop, to develop, we have no way to enter the repository, there is no way to save, there is no way to communicate with each other, because everyone's communication through the central server to achieve. At this time, after you have not connected, you develop all the code is actually local, so there will be a risk, is a local file and code that you accidentally deleted, this time there is no way to restore, because the local file one but deleted there is no way to get. So there's a big risk.
At the same time, the central server is at risk. Because this thing is not to say that this thing is not lost, therefore, we should often back up the company's central server this data, one but the hard drive data loss is troublesome, the whole company's project is lost.
So there's a lot of drawbacks to this SVN legacy approach.
Git: Distributed: That is, every computer, every developer, their computer has a version control library , like SVN is centralized on a server, and we this git is every computer has .
Since every computer has, it means that each of us can do a version of the operation on their own computer, including the submission and acquisition, access to restore and so on a series of operations are OK, and is not worried about the risk of loss. If the first computer loses data, we find that the version control is the same for each one ( If you are developing the same project, then we can clone a copy of it, so you don't have to worry about this repository loss when you're thinking about git development.
We can do code development at any time without having to connect to the central server, for example, in the company, at home, on the subway, and so on, because there is no need for networking, and it is very convenient to have this repository locally.
Multi-person collaborative development: GitHub https:gituhb.com
If in many people writing , I think the second person to look at the first person code updates, or the first person wants to see someone else's code update, then this time let their computers can connect, as long as the connection can get a new code for each other, multi-person collaboration ,. But at the same time there are drawbacks : If two people in different places, this time two computers can not be connected together.
To solve this problem, consider the GitHub site,GitHub role: As a remote repository, can be accessed in different locations, as long as the internet can open GitHub. When developing a project, we can submit it to GitHub first, and then another person gets a fetch from GitHub, so that we can collaborate on multiple people, so GitHub acts as a transit point, Everyone can get an up-to-date, developed version from this GitHub remote repository.
When Git does branch processing, it's a lot better than SVN.
Go to GitHub----1