GIT
版本控制
在开发中如果没有进行版本控制,本身缺乏一定的正确的流程管理。比如代码的一致性、软件内容的冗余、软件过程的事务性、软件开发的并发问题、软件源代码的安全性和软件的整合问题。
版本控制的功能在于跟踪记录整个软件的开发过程,包括软件本身和相关文档,以便对不同阶段的软件 及相关文档进行表示并进行差别分析,对软件代码进行可撤消的修改,便于汇总不同开发人员所做的修 改,辅助协调和管理软件开发团队。
GIT的使用
1.GIT和SVN的区别
- Git 是分布式的,SVN 不是,这是 Git 和其它非分布式的版本控制系统最核心的区别。
- Git 把内容按元数据方式存储,而 SVN 是按文件 。所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.git 等的文件夹里。
- Git分支和SVN分支不同。
- Git 没有一个全局的版本号,而 SVN 有
- Git 的内容完整性要优于 SVN
GIT的安装
比如下载win10 64版本的Git,我使用的是Git-2.19.1-64-bit
在下载时,注意以下两个问题:
1.命令行和视图部分的勾选
2.选择该部分的勾选
完成后在桌面点击右键,如果看到有Git GUI Here
和Git bash Here
,说明已经下载完成。
Git的工作区域
Git的工作区域分为以下三个模块:
- 工作区:对代码进行修改
- 暂存区
- Git仓库区
工作区->暂存区 git add 文件名
暂存区->仓库 git status 先查看文件状态
git commit -m
“提交描述”
Git的使用
-
新建文件夹,进入到目录右键点击
git bash
-
在文件夹中初始化Git(创建git仓库)命令:
git init
,结果会生成一个git文件(隐藏) -
仓库中添加信息:
git add 文件名
,结果会new file:文件名
,工作区到暂存区git add *
添加所有文件git commit -m 描述信息
例如:git commit -m '提交了!'
。将从暂存区移至仓库git status
查看状态 -
仓库中修改信息
按照之前的流程即可(先add文件名,而后再查看状态,)
-
删除文件
git rm 文件名
,删除暂存区git commit -m ‘提交描述’ ,完成仓库中的删除
-
删除文件夹
需要删除暂存区里面或者分支上的文件,但是本地又需要使用,只是不希望这个文件被版本控制。
git rm -r --cached 文件夹名称
比如如下操作:
`git rm -r --cached target` //删除了target文件夹 git commit -m '删除了target!'
如果不加上
--cached
,则是直接删除文件夹。git rm -r 文件夹名称
GIT远程服务器介绍
GitHub介绍
gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名gitHub。
gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的Web管理界面以外,还提供了订 阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目Ruby,on Rails、jQuery、 python等。
GitLab介绍
GitLab 让开发团队对他们的代码仓库拥有更多的控制,相比较 GitHub , 它有不少特色:
- 允许免费设置仓库权限;
- 允许用户选择分享一个 project 的部分代码;
- 允许用户设置 project 的获取权限,进一步提升安全性;
- 可以设置获取到团队整体的改进进度;
- 通过 innersourcing 让不在权限范围内的人访问不到该资源;
Gitee(码云)介绍
相比如上面两个,码云是唯一一个中文服务器提供的网站。对于大型项目中托管相较于上面更加方便。
- 使用 GitHub 时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况。
- 使用国内的代码托管与开发协作平台 —— Gitee。除了访问速度更快以外,Gitee 还提供了免费的私有仓库供个人开发者使用。
以上是基本的安装、使用介绍和一些软件的对比。参考了一定的资料。谢谢大家。