Git—分布式控制软件
-
前提了解—SVN
SVN是集中式版本控制软件,版本库集中存放在中央服务器。工作时,需要先从中央服务器获得最新的项目版本,完成工作后需要把项目推送到中央服务器。集中式版本控制系统必须要联网才能工作。
-
基本概念
Git是分布式版本控制软件,可以没有中央服务器,每个人的电脑就是一个完整的版本库。
-
SVN与Git的区别
(1) Git有多个仓库(分布式),SVN只有一个仓库(集中式)
(2) Git是仓库对仓库,SVN是项目对仓库 -
Git工作流程
(1) 克隆Git远程仓库到本地仓库
(2) 把本地仓库中的项目导入开发工具,进行项目开发
(3) 在提交代码之前将代码提交到暂存区
(4) 提交修改,提交到本地仓库
(5) push本地仓库代码到Git远程仓库
注意:
(1) 当工作区中已经存在了远程仓库的项目,但是该项目在远程仓库中已经更新了,那则可以直接使用(pull)拖拉操作,将更新的代码直接拖拉到工作区中,进行后续开发
(2) 讲工作区中的代码提交到本地仓库是需要先(Add)添加到暂存区,再进行(Commit)提交的
Git本地仓库
- 版本库的介绍
版本库即仓库,英文名为repository,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git任何时刻都可以追踪,也可以对文件进行还原。 - 创建版本库
有两种方法
(1) 使用GitBash
需要先进入一个目录,然后右键鼠标选中Git Bash来启动
然后输入git init。
则会在该目录中生成一个隐藏的.git文件夹,这个文件夹就是本地仓库目录
(2) 使用TortoiseGit
进入目录中,点击鼠标右键选中Git在这里创建版本库
点击确定即可,效果与(1)相同
- 版本库:.git目录就是版本库,提交的文件都需要保存到版本库中
- 工作目录:包含.git目录的目录,也就是.git目录的上一级目录。只有工作目录中的文件才能保存到版本库中
- 添加文件
这时候文件添加到了暂存区
- 修改文件
修改之后的文件需要提交,提交方式与之前一样
- 查看日志
- 比较差异
- 还原修改
当文件修改之后,不想把修改的内容提交,想还原到未修改之前的状态,可以使用"还原功能"
- 检查已修改
当文件提交之前可以先检查哪些文件发生了修改,再比较差异,决定是否提交
- 重命名文件
工作目录下的文件收到Git管理,如果需要重命名文件,不能直接修改,不然不能同步到本地仓库中。如果直接改名,会被本地仓库当成一个新的文件
更名后的文件需要重新提交
- 删除文件
(1) 删除:Git版本库与工作区本地副本文件一起删除
(2) 删除并保留本地副本:只删除Git版本库中的文件,保留工作区本地副本
- 忽略文件或文件夹
想提交项目到本地仓库中,但是项目中存在很多不需要保存到本地仓库的文件,可以选择将这些不需要的文件忽略掉
图例:一个maven工程文件
进入工程目录,选择不需要的文件,忽略
忽略这些不需要的文件后, 则可以将项目添加并提交到本地仓库啦 - 导出指定版本
当我们想要得到本地仓库中的文件,是可以从本地仓库中到处的
- 还原文件到指定版本
可以将本地仓库中的项目文件还原到工作区的项目文件中
忽略文件语法规范
(1) *代表所有文件
比如:忽略所有后缀名为.txt文件:*.txt
忽略doc文件夹下的所有.pdf文件,不包含子目录:/doc/*.doc
(2) **表示多级目录
比如:忽略doc文件夹下的所有文件夹里的.pdf文件,包含子目录
/doc/**/*.pdf
(3) 忽略文件夹下的所有文件
比如:忽略bulid文件夹下的所有文件:/bulid/或bulid