最近在学习git,本文主要为记录学习心得以及罗列git、svn差异 首先,介绍git
一.由于git中心化的思想,git主要分为远端仓库及本地仓库,每个成员经由clone在本地拥有完整的代码仓库,每次对代码进行增删改查都是在本地执行,直到push进主仓库master,其中涉及到三种概念:git仓库、工作目录以及暂存区域,工作流程如下: 1.在工作目录中修改文件。 2.暂存文件,将文件的快照放入暂存区域。 3.提交更新,找到暂存区域的文件,将快照永久性存储到 git 仓库目录。 二.从实用性角度来说,项目中的工作流程主要分为以下几个步骤: 1.远端仓库 为了解决每个成员频繁对远端仓库master进行合并,一般将主仓库的分支分为master、develop,其中develop从master切出,为开发环境主分支
2.本地仓库
clone远端仓库代码
3.本地仓库
开发完毕,将文件commit到暂存区域,然后push到远端仓库的指定分支(建议以feature/name-date-功能页 进行命名)
4.远端仓库
将指定分支merge到master
其次,git、svn差异
三.差异性 1.svn为集中管理思想,git为中心化思想,主要差异为即使没有网络,git也可以进行commit,checkout等操作
2.分支差异,git的分支思想给开发者带来很大的便利性,遇见轻重不一的问题修复时,可以checkout各自的分支,不影响各自的merge master
3.还有一些别的差异,比如是否有版本号的差异,内容完整性的差异,因为目前还没有很大的需求去了解,先不做介绍
总结:为了降低成员共同开发项目、自身开发多功能项目的耦合性,使用git会更加便利