Git:版本控制软件
Git的优点
1.1 协同修改
-
多人并行不悖的修改服务器端的同一个文件。
1.2 数据备份
-
不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。
1.3 版本管理
-
在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文件系统快照的方式。
1.4 权限控制
-
对团队中参与开发的人员进行权限控制。
-
对团队外开发者贡献的代码进行审核——Git 独有。
1.5 历史记录
-
查看修改人、修改时间、修改内容、日志信息。
-
将本地文件恢复到某一个历史状态。
-
分支管理。
-
许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。
2. Git官网
-
官网地址: Git
3. Git工作流程
代码工作区 ---> 执行git add ---> 暂存区(临时存储)---> 执行git commit ---> 本地库(历史版本)
工作区、暂存区和本地仓库,逻辑上是本地计算机。
-
当我们新建一个文件时,文件位于工作区,处于已修改(modified)状态,表明文件已进行了修改,但还没有提交保存;
-
通过命令 git add 将其添加到暂存区,文件是已暂存(staged)状态,表示把已修改的文件放到下次提交时要保存的清单中;
-
通过命令 git commit将文件放入本地仓库,文件为已提交(commited)状态,表示该文件已经被安全地保存在本地数据库中,到这一步可以说是成功生成了一个新的版本;
-
远程仓库用来将本地仓库上传到网络,实现备份、共享和合作。
三、Git的安装
1. 安装步骤
-
选择安装目录,全部下一步即可。
2. 验证是否安装成功
-
安装完打开Git Bash窗口 。
-
输入git --version 输出版本信息证明安装成功 。
四、Git基础指令
基础指令 (工作区, 暂存区 , 本地仓库)
1.git init : 初始化本地仓库
2.git add:文件名 | git add : 将工作区的修改添加到暂存区
3.git commit -m '描述' : 将暂存区的内容提交到本地仓库中
4.git diff 文件名: 查看工作区文件和本地仓库(版本库)的区别
5.git log : 查看详细日志
git log --pretty=oneline : 展示一行日志
git reflog : 简化日志
6.git reset --hard 局部版本号(完整版本号也行) : 恢复版本
7.git rm 文件名 : 删除文件,将删除的文件添加到暂存区
五、常见的远程仓库
1. Github
Github是目前全球最大的代码托管平台。也是Git官方指定的远程仓库。里面包含了全球很多开源项目。
但是由于Github是国外的服务器,所以在国内(尤其网络不是很好的地方)在进行推送内容或拉取内容时的速度可能不是特别快。
2. Gitee
Gitee 中文名称码云。
是国内目前最大的代码托管平台。号称中国版Github。是由开源中国推出的。
近几年在选择远程仓库时Gitee常作为国内开发者首选。
六、远程仓库操作(以码云为例)
1. 在码云注册账号
2. 创建远程仓库
2.1 注册
首先需要注册一直自己的账号。注册后完成登录。
2.2 创建仓库
点击右上角“+” -》 新建仓库 -》创建一个新的仓库。
2.3 填写仓库信息。
-
仓库名称是必填项。
-
是否开源选择开源。
-
取消勾选“使用Readme文件初始化这个仓库”。
3. 推送到远程
远程仓库的操作:
1.创建远程仓库
1.添加远程仓库地址
如果没有添加会报错
git remote add orgin 地址
1.使用仓库的https协议
1.将本地仓库中的内容推送到远程库中,需要输入远程仓库的用户名,密码
2.出现账号和密码输入错误,再使用时,还会使用错误的账号和密码
控制面板 -> 在搜索框搜索凭据 -> 凭据管理器 -> gitee相关 -> 删除记录
2.使用仓库的SSH协议
1.将本地库中的内容推送到远程库时,不需要输入用户名和密码
2.生成公钥和私钥,将公钥配置在远程仓库中。官方文档有
2.推送到远程仓库的主分支中:
git bush -u origin master
-u 本地分支和远程分支建立关联,建立关联联系后可以使用git push
查看本地分支和远程分支是否存在关联关系
git branch -vv
4. 克隆远程仓库到本地
克隆远程仓库的项目:
git clone https://地址 对于公开仓库允许被克隆,直接克隆
git clone ssh地址 gitee必须配置了本地git的公钥
七、分支操作
1. 分支概念
在版本控制过程中,多个分支可以同时推进,提高开发效率,各个分支互不影响,增加了容错性。
在版本控制过程中,使用多条线同时推进多个任务。每条线成为一个分支。
开发中常见的分支:
1.1 Master
主分支;主要是稳定的版本分支,正式发布的版本都从Master拉。
1.2 Develop
开发分支;更新和变动最频繁的分支,正常情况下开发都是在Develop分支上进行的。
1.3 Release
预发行分支;一般来说,代表一个版本的功能全部开发完成后递交测试,测试出Bug后进行修复的分支。
1.4 Features
功能分支; 其实Features不是一个分支,而是一个分支文件夹。里面包含了每个程序员开发的功能点。Feature开发完成后合入Develop分支。
1.5 HotFix
最希望不会被创建的分支;这个分支的存在是在已经正式上线的版本中,发现了重大Bug进行修复的分支。
2. 分支指令
默认只会创建主分支,可以创建其他分支.
创建了其他的分支,可以实现同时推进,互不影响
1.查看分支: git branch
2.创建分支: git branch 分支名
3.切换分支: git checkout 分支名
4.将本地分支推送到远程: git push origin 本地分支名:远程分支名
5.合并分支: 切换到主分支,合并其他分支. git merge --no-f 分支名
6.删除本地分支: git branch -d 分支名
7.删除远程分支: git push orgin --delete 远程分支名
未完待续