What is Git
What is Git (什么是Git)
Definition
Definition (定义)
Git is a version control system that is widely used in the programming world. It is used for tracking changes in the source code during software development. It was developed in 2005 by Linus Torvalds, the creator of the Linux operating system kernel. (Git是一个广泛应用于编程领域的版本控制系统。它用于跟踪软件开发过程中源代码的更改。它由Linux操作系统内核的创建者Linus Torvalds于2005年开发。)
Importance of Git
Importance of Git (Git的重要性)
Git is a speedy and efficient distributed VCS tool that can handle projects of any size, from small to very large ones. Git provides cheap local branching, convenient staging areas, and multiple workflows. It is free, open-source software that lowers the cost because developers can use Git without paying money. It provides support for non-linear development. Git enables multiple developers or teams to work separately without having an impact on the work of others. (Git是一个快速高效的分布式VCS工具,可以处理任何规模的项目,从小到大。 Git提供廉价的本地分支、方便的暂存区域和多个工作流程。 它是一款免费的开源软件,可降低成本,因为开发人员无需支付任何费用即可使用Git。 它为非线性开发提供支持。 Git使多个开发人员或团队能够单独工作,而不会对其他人的工作产生影响。)
Performance of Git
Performance of Git (Git的性能)
Git stands out with its performance advantages. Performance optimized operations are branching and merging, committing new changes, and the comparison of the past versions. One of the Git performance strengths is its advanced algorithms. (Git以其性能优势脱颖而出。性能优化的操作是分支和合并,提交新的更改,以及比较过去的版本。Git的性能优势之一是其先进的算法。)
Git focuses only on the file content while determining its storage and version history of the tree. The source code files are renamed, split, and rearranged regularly. The object format of Git repository files uses a mixture of delta encoding and compression. It stores directory contents and version metadata objects. (Git仅关注文件内容,同时确定其存储和树的版本历史记录。源代码文件会定期重命名、拆分和重新排列。Git存储库文件的对象格式使用增量编码和压缩的混合。它存储目录内容和版本元数据对象。)
Security of Git
Security of Git (Git的安全性)
The main priority of Git is the integrity of managed source code. In Git repository, versions, directories, the content of the file, tags, and commits are secure because a cryptographically secure SHA1 hashing algorithm is used, which ensures secure code history. Git provides an authentic content history of the source code. (Git的主要优先事项是托管源代码的完整性。 在Git存储库中,版本、目录、文件内容、标记和提交是安全的,因为使用了加密安全的SHA1哈希算法,这确保了安全的代码历史记录。 Git提供源代码的真实内容历史记录。)
Flexibility of Git
Flexibility of Git (Git的灵活性)
One of the advantages provided by Git is its flexibility in several aspects:
Track Changes – Changes can be tracked as someone making a change leaves a commit message about it. (-跟踪更改–当有人进行更改时,可以跟踪有关更改的提交消息。)
Backup and Restore – It helps to maintain the source code backup. (-备份和还原–有助于维护源代码备份。)
Collaboration - It enables software team to collaborate with each other. (-协作-它使软件团队能够相互协作。)
Branching and Merging – Changes are made on a branch and after being approved, they can be merged with the master branch. You can see who changed the file and what parts of the content are changed. (-分支和合并–更改是在分支上进行的,经批准后,可以与主分支合并。您可以查看谁更改了文件以及更改了内容的哪些部分。)
Deployment - It deploys the source code on the server with only one command. (- Deployment -只需一个命令即可在服务器上部署源代码。)
Version Control With Git
Version Control With Git (使用Git进行版本控制)
Nowadays, Git is the most preferred version control system because it has almost everything that developers need to get more effective results. The main reasons for this are listed below:
Git is so popular, that majority of developers can work on it, even before graduating colleges or universities. Besides, Git is considered to be the basis of version control systems, because the developers, who have already learned to work on it, can easily possess other ones. (- Git如此受欢迎,以至于大多数开发人员甚至可以在大专院校毕业之前就开始使用它。此外, Git被认为是版本控制系统的基础,因为已经学会使用它的开发人员可以轻松拥有其他版本控制系统。)
Due to its prevalence, many major software tools and services are incorporated in Git. (-由于其流行,许多主要的软件工具和服务都包含在Git中。)
There are lots of books, tutorials, and even specialized websites, that can help the developers to learn Git. (-有很多书籍、教程,甚至专门的网站,可以帮助开发人员学习Git。)
As Git is open-source software, the developers have the opportunity to use it without paying any charge. (-由于Git是开源软件,开发人员有机会免费使用它。)
The main reason Git is being criticized is the difficulty of learning it. Particularly, some terms used in Git can have other definitions than in other VCS. However, it worths learning it, as the ability to use Git is an excellent advantage for teams and individual developers and is one of the keys of their future success. (Git受到批评的主要原因是学习困难。特别是, Git中使用的某些术语可能具有与其他VCS不同的其他定义。但是,它值得学习,因为使用Git的能力对团队和个人开发人员来说是一个极好的优势,也是他们未来成功的关键之一。)
The most popular Git solutions
The most popular Git solutions (最受欢迎的Git解决方案)
Git suggests some repository management services that you can find useful. In general, repository management services are the key to fast and effective software development. The most popular ones based on Git are GitHub, Bitbucket and GitLab. (Git建议了一些你可以找到有用的存储库管理服务。一般来说,存储库管理服务是快速有效的软件开发的关键。基于Git最流行的是GitHub、Bitbucket和GitLab。)
GitHub is a git-based repository host originally launched in 2008 by Tom Preston-Werner, Chris Wanstrath, and PJ Hyatt. It is the largest repository hosting platform with more than 38 million projects. It permits to host and review code, manage projects and build software.
Bitbucket was launched in 2008 by an Australian startup and originally supported only Mercurial projects. In 2010 Bitbucket was bought by Atlassian, and from 2011, it started to support Git hosting, which is now its main focus. It provides free unlimited private repos, Jira and Trello integration and built-in continuous delivery. (Bitbucket由一家澳大利亚初创公司于2008年推出,最初仅支持Mercurial项目。 2010年, Bitbucket被Atlassian收购,从2011年开始,它开始支持Git托管,这现在是其主要关注点。 它提供免费无限制的私有存储库、Jira和Trello集成以及内置的持续交付。)
GitLab started as a project by Dmitriy Zaporozhets and Valery Sizov in 2011, which aim was providing an alternative to the available repository management solutions. The company was, however, only incorporated in 2014. It provides continuous integration and delivery, agile development, Auto DevOps, etc.. (GitLab由Dmitriy Zaporozhets和Valery Sizov于2011年启动,旨在为可用的存储库管理解决方案提供替代方案。 然而,该公司仅在2014年成立。 它提供持续集成和交付、敏捷开发、Auto DevOps等。)