Git是目前使用最广泛的分布式版本管理系统。相对于集中式代码管理系统,例如Subversion, Perforce等,来说,它有着无法比拟的优势,比如轻量级的分支管理,适合不同场景的分支合并策略,离线状态下的版本管理和变更历史查询等,而这些优势也正好符合了当前敏捷和精益的软件开发方法。本文将介绍如何在Linux,Mac和Windows系统中安装并配置Git。
Git是目前使用最广泛的分布式版本管理系统。相对于集中式代码管理系统,例如Subversion, Perforce等,来说,它有着无法比拟的优势,比如轻量级的分支管理,适合不同场景的分支合并策略,离线状态下的版本管理和变更历史查询等,而这些优势也正好符合了当前敏捷和精益的软件开发方法。本文将介绍如何在Linux,Mac和Windows系统中安装并配置Git。
不要将包含用户名、密码、API令牌(Token)等各类敏感信息放在Git代码仓库中已经成为了大家的共识,尤其是代码仓库托管在GitHub、GitLab、Bitbucket等提供公共代码仓库服务的平台上时,更需要且值得任何的代价去尽量避免这种事情的发生。本文介绍并使用git-secret将文件加密后存储在Git代码仓库中,以及基于git-secret的多人协同工作的流程。
在代码开发的过程中,有时会将不该提交的文件误提交到Git仓库中,比如编译产生的临时二进制文件(忘了添加.gitignore),或者包含账号,密码等敏感信息的文件。临时的二进制文件放在Git仓库中没有意义,而且如果频繁改动的话,也会导致Git仓库逐渐变大,而敏感信息会导致信息泄露且不符合信息安全标准。这些不该提交的文件或内容被称为Git仓库的脏数据,需要被清理掉。重新提交一个新的变更来清理这些脏数据是远远不够的,因为从历史版本中仍然能够找到它们。本文将介绍如何使用开源工具BFG Repo-Cleaner从Git仓库的变更历史中永久清除这些脏数据。
Git合并请求(Pull/Merge request)的本质
Git以及基于Git的各代码开发协作平台,比如Github, Gitlab, Bitbucket, TFS Git等正逐渐成为首选的代码版本管理工具,而基于Git的基本开发流程则是开发者创建个人的私有分支并在个人的私有分支上提交代码,代码完成后创建合并请求(pull/merge request)到主分支让相关人员做代码评审,评审通过后将合并请求(pull/merge request)合并到主分支上。合并请求(pull/merge request)不是Git本身的特性,而是各代码协作平台提供的特性,它提供的代码评审功能几乎取代了独立的代码评审工具,同时它也方便了分布于世界各地的开源代码贡献者合并自己的代码。那么合并请求(pull/merge request)到底是什么东西?它看的见摸得着吗?本文将通过目前比较流行的代码开发协作平台(Github, Gitlab, Bitbucket, TFS Git)对合并请求(pull/merget request)的实现来阐明合并请求(pull/merge request)的本质。