分布式版本控制Git 快速入门

分布式版本控制GIT

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理

目录
1.git的特点
2.git与svn的区别
3.git 安装以及基础命令
4.git 分支
5.远程仓库
6.规范团队git管理

1.Git 特点

  • git每台电脑都有一个版本库,可以在本地做版本管理。
    速度快,git的速度远超大部分版本管理系统,包括svn。
  • 强大的分支管理功能。
  • 活跃的开源社区,如最著名的GitHub。GitHub访问地址:https://github.com/

2.Git与SVN的区别

  • git 是分布式,而svn是集中式
  • git与svn的版本机制不一样,git 的内容完整性优于SVN
  • git不需要联网,就可以在本地提交

3.git 安装以及基础命令

安装包下载地址:https://git-scm.com/downloads

常用命令

本地仓库创建

git init 初始化一个本地仓库,在同级目录下会出现一个隐藏的.git文件
git配置
查看:git config -l
配置:git config xxx (必配项user.name和user.email)
三级文件配置从高到底排序如下:
当前目录下的 .git/config
当前用户目录/.gitconfig
git安装目录/etc/gitconfig

git本地提交

git add filename 提交到索引(-A代表全部)
git commit -m ‘版本描述’ 提交到文件库
git commit -am ‘版本描述’ 一步完成提交

git中的三类文件

被追踪的(tracked):已经加入文档库
不被追踪的(untracked):没有加入文档库
忽略的(ignored):忽略那些不需要管理的文件夹或文件
玩过svn的也是知道,分本地文件,svn线上文件,本地忽略文件
查询状态 git status

忽略的

目录下建立一个.gitignore文件(可以有多个,影响范围当前文件及子文件)

提交点

ID:每一次commit都是一个提交点,唯一标识SHA1的ID,ID可使用前4至7个数字表示
标签:git tag -a v0.2 4a80f64(提交点SHA1的ID的前7位)

日志

git log
git log --oneline
git log --oneline --graph

4.git 分支

分支:分支意味着你可以从开发主线(master)上分离开,在不影响主线的同时继续工作

创建分支
git branch 列出当前开发所有分支(默认会有master)
git branch king 创建一个king的分支(最新提交点)
git branch king 提交点 创建一个king的分支(指定提交点)
删除分支
git branch -d king 删除king分支
切换分支
git checkout king 切换至king分支
合并分支
git checkout master
git merge king 合并分支king和主干master,合并后的提交点属于主干master

5.远程仓库

gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub
与github连接需要通过加密通道,有两种方式, 一种ssh,一种https

  • clone 克隆
    git clone “远程地址” “本地文件名称”
  • push 推送本地修改至远程git文档库
    git push -u enjoy-https master
  • fetch与pull
    fetch是将远程主机的最新内容拉到本地,不进行合并
    git fetch enjoy-https master
  • pull 则是将远程主机的最新内容拉下来后直接合并 fetch+merge
    git pull enjoy-https master

注:

  1. 本地新建一个远程连接 enjoy
    git remote add enjoy-https https://github.com/kingjames223/enjoy-git.git
  2. 查看远程连接 git remote
  3. 查看远程连接详情 git remote -v

6.规范团队git管理

Production分支

Master分支,这个分支只能从其他分支合并,不能在这个分支直接修改

Develop分支

这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支

Feature分支

这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release

Release分支

当你需要一个发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release后,我们合并到Master和Develop分支

Hotfix分支

当我们在Production发现新的Bug时候,我们需要创建一个Hotfix, 完成Hotfix后,我们合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章