git的使用

Git和SVN的区别

git和svn是我们在开发过程中常用的代码版本管理工具,那么它们有什么区别呢?

1. Git是分布式的,SVN是集中式的。

SVN必须有一个服务器版本库在中央服务器,所有的开发代码提交都是和服务器进行交互的,在断网的情况下我们就无法提交版本。

Git是趋向于分布式的开发,每一个计算器上都要一个本地代码库,和服务器上的一样,所有即使在断网情况下一样可以进行commit,查看历史版本记录,创建分支等操作。

2. Git和SVN的存储形式不一样

Git把内容按照元数据形式存储,Git只关心文件数据的整体变化,更像是把文件做快照,文件没有改变时分支指向这个文件的指针不会改变,文件变化的时候,指针指向新版本。
SVN是文件形式存储,保存文件前后变化的差异。

3. 版本号不一样

Git没有全局版本号,采用40位长的哈希值作为版本号,你没有先后之分。
SVN有版本号进行控制,每次操作会生成一个高版本号。

4. 分支不同
SVN创建分支其实是创建一个新文件夹(目录)拥有实际的文件,相当于copy一份源文件,创建分支后,影响全部成员。每个人拥有这个分支,拉分支会比较慢,多分支并行开发较难。
Git 可以在任意commit节点开启分支,没有创建新的文件夹,创建一个分支就是多了一个索引文件,记录这个分支的变化,占用很小的内存。可以在一个文件夹下快速的切换不同的分支,每一个分支都是独立的,可以进行任何操作,不会影响其他的操作

5.管理权限不同
Git没有严格的管理权限,在gitlab中可以在项目目录下进行用户权限分配
SVN权限管理比较严格,可以按照组,个人对子目录权限进行控制

6.工作流程比较类似,但是还是有区别

SVN每次更改文件需要update,有冲突会打断提交
Git提交之前需要先pull。在push操作时有冲突先解决冲突,提交过程不会被打断,但是会标记冲突文件。

5

Git开发流程

一般项目主要包含master和develop两个分支,

master为主分支,是部署生产环境的分支,确保master分支的稳定,只有当所有的功能测试通过以后才会将代码合并到master分支上,进行上线发布。

develop为开发分支,从master分支上建立。在开发过程中保证develop分支下的代码是最新的和bug已经修复过的。

日常新功能的开发都是在develop分支下在创建一个feature-xxx的分支进行开发,当功能开发完成,测试没有问题后在develop分支下和feature-xxx分支合并。

release分支为预发布分支,冲develop分支下建立。feature-xxx分支开发完成后合并develop分支,在develop分支下建立一个预发布的分支realease,部署测试,如果发现bug直接由开发者在realase分支下修改并提交,测试通过后,合并release分支到master和develop分支下,此时master分支用作上线发布。

Git的常用命令

1.新建代码库

git init  #在当前目录下创建一个代码库

git init [project-name]  #新建一个目录并初始化为Git代码库

git clone [url]  #clone下载一个项目

2.配置

git config --list  #显示Git配置信息

#在提交代码时的用户信息

git config --global user.name "[name]" #全局配置git用户名

git config --global user.email "[email]" #全局配置用户邮箱

3.常用代码提交命令

git add [file1] [file2]... #添加文件到暂存区

git add [dir] 添加指定目录到暂存区

git add . #添加所有的文件到暂存区

git commit -m "[注释信息]" #提交暂存到仓库区

git commit -a #提交工作区自上次commit之后的变化直接到仓库区

git branch  # 查看当前分支

git branch -a #查看所有的分支

git checkout -b [branch] #创建一个分支

git checkout [branch] #切换分支

git merge [branch] #合并指定分支到当前分支

git log #显示当前分支提交的版本历史

git push -u origin [branch] #上次指定分支到远程仓库

git fetch #从远程仓库拉取代码

git pull #取回远程仓库的变化,并与本地分支合并

参考内容:
https://www.cnblogs.com/baby1…

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据