Git and GitHub

Source: Internet
Author: User
Tags version control system

Git is a free, open source distributed version control system for agile and efficient processing of any or small or large project.

Git is an open source distributed version control system for efficient, high-speed processing of project versioning from very small to very large. Git is an open source version control software developed by Linus Torvalds to help manage the development of the Linux kernel.

Torvalds started to develop Git as a transitional solution to replace BitKeeper, which was previously the primary source code tool used by Linux kernel developers worldwide. Some in the open source community felt that BitKeeper's license was not appropriate for the open-source community, so Torvalds decided to work on a more flexible version control system. Although Git was originally developed to assist the Linux kernel development process, we have found that Git is also used in many other free software projects. For example, recently migrated to Git, and many freedesktop projects migrated to Git.

Features of Git:

From a general developer's point of view, Git has the following features:

1: Clone the database (including code and version information) from the server onto a single machine.

2: Create a branch on your own machine and modify the code.

3: Commit the code on the branch you created on the stand-alone.

4: Merge Branches on a single machine.

5: Create a new branch, fetch the latest version of the code on the server, and merge it with your main branch.

6: Create patches to send patches to the main developer.

7: Looking at the feedback from the main developer, if the main developer discovers that there is a conflict between the two general developers (they can work together to resolve the conflict), they will be asked to resolve the conflict before being submitted by one of them. If the main developer can resolve it himself, or if there is no conflict, pass.

8: The method of resolving conflicts between the general developers, the developer can use the pull command to resolve the conflict, resolve the conflict and then submit the patch to the main developer.

From the perspective of the main developer (assuming the main developer does not develop code), GIT has the following features:

1: Check the email or view the submission status of the general developer by other means.

2: Patch, resolve the conflict (you can resolve it yourself, you can also ask developers to resolve the future and then resubmit, if it is an open source project, also decide which patches are useful and which do not).

3: Submit the results to the public server and notify all developers.

Advantages:

Suitable for distributed development, emphasizing individual.

Public server pressure and data volumes are not too large.

Fast and flexible.

Conflicts can easily be resolved between any two developers.

Work offline.

Disadvantages:

Less information (at least Chinese information is scarce).

The learning cycle is relatively long.

does not conform to conventional thinking.

Code confidentiality is poor, and once the developer has cloned the entire library, all code and version information can be fully exposed.

GitHub is a code hosting platform and developer community where developers can create their own open source projects on GitHub and work with other developers to encode. Startups can use it to host software projects, open source projects can be hosted for free, and private projects pay for them.

GitHub is a distributed version control system originally written by Linus Torvalds and used as the management of Linux kernel code. Since its launch, GitHub has also been a big success in other projects, especially in the Ruby community. At present, many well-known projects, including Rubinius and Merb, use GitHub. GitHub can also be used by deployment tools such as Capistrano and Vlad the Deployer. As an open source code base and version control system, GitHub currently has more than 1.4 million developer users. As more and more applications move to the cloud, GitHub has become the preferred method for managing software development and discovering existing code.

Git and GitHub

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.