分布式git管理

    git已经是代码管理的主流工具了,所以今天总结下:

 首先先看看Git与SVN的区别

      1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
    2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
    3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
    4、GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
    5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

 Git工作流:

Git配置信息:

git config --global user.name "test"
git config --global user.email [email protected]
git config –list  查看配置信息

Git 工作区、暂存区和版本库:
    工作区:就是你电脑存在文件的地方(目录)。
    暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
    版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

    

在版本库中标记为 "index" 的区域是暂存区(stage, index),标记为 "master" 的是 master 分支所代表的目录树。
图中我们可以看出此时 “HEAD” 实际是指向 master 分支的一个“游标”。(主分支的提交点,控制分支)

Git 创建仓库
    git init
Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。
    git  add filename (你要添加或者修改的文件)
    git  commit –m “版本提交描述”
    git  commit –am ‘xxxx’  加入缓存区并提交
    git clone https://github.com/xxx/sping.git 
    git status  查看当前提交文件状态
    git diff  查看提交状态的详情信息
    
git reset HEAD
git reset HEAD 命令用于取消已缓存的内容。
Git 分支管理
    几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
git branch (branchname) 创建分支名
git checkout (branchname) 切换到分支
git branch -d (branchname) 删除分支
git merge  (branchname)  当前分支和哪个分支合并。


Git 标签
如果你的项目版本发布比较多,你可以使用 git tag 给它打上标签,用来记录你的版本发布。
git tag -a v1.0
git log --decorate  查看tag追加标签
git tag -a v1.0 85fc32

Git 查看提交历史
git log 文件名  即可查看到有关此文件的所有提交;
git log --oneline  简单版本
git log --oneline –graph  查看分支情况


Git回退
git reset  --hard 8ff24a6803173208f3e606e32dfcf82db9ac84d8

分支管理
develop和master是长期维护的分支,前者用于开发,后者用于生产。
临时分支有功能分支、发布分支、hotfix分支,它们的生命周期比较短,一旦完成其使命将被删除。

发布流程

猜你喜欢

转载自blog.csdn.net/sdmxdzb/article/details/83065717