Git总结
版本控制(Revision Control)是一种在开发的过程中用于管理我们对文件,目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术
- 实现跨区域多人协同开发
- 追踪和记载一个或者多个文件的历史记录
- 组织和保护你的源代码和文档
- 统计工作量
- 并行开发,提高开发效率
- 跟踪记录整个软件的开发过程
- 减轻开发人员的负担,节省时间,同时降低人为错误
多人开发必须使用版本控制,否则代价很大
主流的版本控制工具:Git,SVN,CVS,VSS,TFS,Visual Studio Online
版本控制分类
-
本地版本控制:每个版本做一个快照,记录补丁文件,适合个人使用
-
集中版本控制(SVN):所有版本数据保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改(多个人提交代码,如果发生冲突,需要一些解决方案),如果服务器宕机,出现单点故障问题
-
分布式版本控制(Git):每个人拥有全部的代码,不会因为服务器损坏或者网络问题,造成不能工作的情况,所有版本信息都同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或用户那里,由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用
Git是世界上最先进的分布式版本控制系统
Git历史(源于Linux)
BitKeeper-->Git
Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
Git CMD:Windows风格的命令行
Git GUI:图形界面的Git
配置用户信息
环境变量只是为了全局使用,无需配置
Git工作原理(核心)
Git本地有四个工作区域:
-
工作目录(Working Directory):平时存放项目代码的地方
-
暂存区(Stage(Index))
-
本地仓库(Repository或者Git Directory)
-
远程的Git仓库(Remote Directory)
Git工作流程
-
在工作目录下添加修改文件
-
将需要进行版本管理的文件放入暂存区域
git add .
git clone 网址 -
将暂存区域的文件提交到git本地仓库
git commit -m -
git本地仓库提交到远程仓库
git push
Git管理的三种文件状态:已修改(modified),已暂存(staged),已提交(committed)
Git项目搭建 (add,commit,push)
本地创建仓库
克隆远程仓库
Git绑定idea
只需将克隆的远程仓库的文件复制到本地项目中
git commit -m "new file 文件名.文件类型"
git push
git分支
协同开发时,如果两个开发者修改了同一份代码,发生冲突,就要选择保留一人的
master主分支应该非常稳定,用来发布新版本,一般情况下,不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完成后,要发布时,可以合并到主分支master上来
git merge [branch]