赞
踩
版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。用的比较多的如svn,git等。
该工作模式存在明显弊端:
1)存在单点问题:若中央版本库服务器宕机,则系统崩溃不可用
2)每台客户机本身不具有版本控制功能
3)该工作模式不能单独控制版本,必须在网络环境下运行
典型的集中式工作模式的VCS是:CVS(版本控制器的一种)、SVN
典型的分布式工作模式VCS是:Git
Git(读音为/gɪt/,gay特:) )是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
(1)集中式
(2)社区式
(1)Git的工作过程
第一步:初始化Init()本地版本库;
第二步:Clone()中央版本库到本地;
第三步:把版本程序添加Add()到客户机;
第四步:提交Commit();
第五步:Push()到中央版本库;
第六步:Pull()中央版本库程序到本地;
Push()->Pull()循环往复...
(1)下载:下载地址
(2)安装:点击下载的Git.exe
安装完成。
(1)创建目录
(2)初始化
(3)创建用户
git中用户分为三类:系统用户(--system)、全局用户(--global)、本地用户()
创建用户:
创建系统用户
创建全局用户
创建本地用户:
查看用户:
查看系统用户:
查看全局用户:
查看本地用户:
(4)本地操作 git add、git config、git commit
(5)忽略文件
在工作区中创建一个隐藏文件.gitignore,将要被git忽略的文件名写入到该文件,
然后将.gitignore提交到版本库即可。
(6)查看区别
①工作区与暂存区的区别git diff
②暂存区与本地库git diff --cached
(7)撤销修改
①仅在工作区中修改git checkout --
若一个文件仅在工作区中修改,还未添加,使用git checkout --命令将修改内容撤销。
②已在暂存区修改git reset HEAD
若一个文件修改后已经被add到暂存区,可通过git reset HEAD命令将暂存区中的修改撤销。
(1)查看历史版本git log
①基本命令 git log 查看历史版本
②git log --pretty=oneline
以一行形式显示提交日志,但commit-id为长格式
③git log --pretty=oneline --abbrev-commit
以一行形式显示提交日志,但commit-id为长格式
④翻页与退出
回车:一次显示一行
空格:翻页
q键:退出命令
(2)HEAD指针
HEAD:指向当前版本
HEAD^:指向当前版本上一个版本
HEAD^^:指向当前版本前两个版本
HEAD^^^:指向当前版本前三个版本
HEAD^~20:指向当前版本前二十版本
(3)查看可引用历史版本git reflog
查看当前版本前后所有版本,目的是为了获取commit-id
(4)版本回退
①git reset --soft (软回退)
分支区内容回退到前一个版本,但暂存区与工作区没有回退
②git reset --mixed (混合回退)
分支区与暂存区内容回退,工作区内容没有回退
-mixed为默认选项,可以省略
③git reset --hard(硬回退)
分支区,暂存区与工作区内容全部回退
④git reset HEAD
撤销暂存区上一步操作,属于混合回退
(1)搭建环境
略。。。
(2)仅查看暂存区文件列表git ls-files
(3)查看暂存区与分支区(本地库)文件列表总和git ls-files --with-tree=HEAD
(4)仅删除暂存区中指定文件git rm --cached <file>
(5)恢复删除文件git reset HEAD <file>
(6)完全删除git rm
删除了工作区与暂存区中的指定文件,但分支区文件没有被删除
(7)恢复被删文件git reset --hard HEAD
(1)Git分支理论
①Git主干
②Git分支
③分支合并
④合并后删除
(2)分支基本操作
①创建并切换分支git checkout -b <branch>
git checkout -b dev 相当于以下两个命令的集合:
git branch dev //创建分支
git checkout dev //切换分支
②查看系统分支 git branch
③切换分支git checkout <branch>
④删除分支 git branch -d <branch>
一般情况下,删除分支前,需要先将其合并到其他分支,否则不能删除
⑤强制删除分支 git branch -D <branch>
⑥合并分支git merge <branch>
(3)分支合并与冲突
git的冲突单元是文件,即多个分支对同一个文件进行修改,
无论修改什么内容,在合并时肯定会发生冲突
①产生冲突的合并
删除冲突部分内容后重新提交,冲突修复,merging状态结束
②无冲突的合并
查看合并日志:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。