版本控制-git
2015-06-17 09:22
211 查看
版本控制是一种记录一个或者若干文件内容变化,以便将来查阅特定版本修订情况的系统,是软件开发过程中不可缺少的管理手段。
常见的版本控制系统可以分为三大类:本地版本控制、集中式版本控制、分布式版本控制。
本地版本控制:通过复制项目目录、或者改名来区分保存不同的版本。好处:简单;坏处:工作目录容易混淆,文件丢失没法撤销恢复。
![](http://images0.cnblogs.com/blog2015/708076/201506/170914536233636.png)
集中式版本控制:有一个服务器用于管理版本库,保存所有文件的修订版本。通过客户端从服务器中取得最新的文件,并提交更新版本。常见的软件系统:CVS、Subversion、Perforce。好处:协同工作;坏处:单点故障。
![](http://images0.cnblogs.com/blog2015/708076/201506/170915451544526.png)
分布式版本控制:每个客户端都是一个完整的版本库。任何一处协同工作的服务器发生故障,都可以通过任何一个本地仓库进行恢复。常见的软件系统:git、Mercurial等
![](http://images0.cnblogs.com/blog2015/708076/201506/170916311703835.png)
Git是当前最为流行的分布式版本控制系统。在git中的文件有三种状态:已提交(committed)、已修改(modified)、已暂存(staged)。
已提交:文件已经被保存到本地数据库。
已修改:某文件被修改,但是还没有提交。
已暂存:把已修改的文件放在下次提交时要保存的清单中。
在git中三种状态的文件对应的文件流转工作区域:git工作目录、暂存区域、本地仓库,具体看参考下图:
![](http://images0.cnblogs.com/blog2015/708076/201506/170917197323998.png)
以上对git中重要的概念做了简单介绍,有了基本了解之后我们先进行安装git。本文以window系统为例,安装步骤非常简单,再次不做过多介绍。
Git下载地址:http://www.git-scm.com/download/
Git安装完成之后,我们开始创建版本库。版本库也可以成为仓库,说白了就是一个目录,只不过这个目录中文件会被git管理,每个文件的增、删、改都会被git追踪。
1、 创建一个空目录:mygit
2、 初始化版本库:git init
在mygit中点击右键,在弹出菜单中选择Git Bash。在Git Bash命令行窗口中输入:git init 命令进行初始化版本库。
![](http://images0.cnblogs.com/blog2015/708076/201506/170918393738268.png)
命令执行完成之后,目录中会出现.git目录,主要此目录是Git用来管理跟踪版本库的不要随意修改。
3、新增文件:git add 文件名
首先新建一个文件readme.txt,在Git Bash中输入命令git add readme.txt
![](http://images0.cnblogs.com/blog2015/708076/201506/170919519351300.png)
通过命令:git status,可查看状态,文件readme.txt已经放入暂存区,但尚未提交到本地版本库中。
![](http://images0.cnblogs.com/blog2015/708076/201506/170920323263827.png)
通过命令:git commit,可提交文件到本地库,注意-m后面存放的是本次提交的注释。
![](http://images0.cnblogs.com/blog2015/708076/201506/170921062163772.png)
通过以上步骤,即可完成一个版本库的创建并添加新文件到库中。实际是在最后一步提交的时候,需要我们对git进行配置,具体内容请参考下一篇内容。
如有疑问咨询或技术交流,请加入官方QQ群:
![](http://pub.idqqimg.com/wpa/images/group.png)
(452379712)
作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
常见的版本控制系统可以分为三大类:本地版本控制、集中式版本控制、分布式版本控制。
本地版本控制:通过复制项目目录、或者改名来区分保存不同的版本。好处:简单;坏处:工作目录容易混淆,文件丢失没法撤销恢复。
![](http://images0.cnblogs.com/blog2015/708076/201506/170914536233636.png)
集中式版本控制:有一个服务器用于管理版本库,保存所有文件的修订版本。通过客户端从服务器中取得最新的文件,并提交更新版本。常见的软件系统:CVS、Subversion、Perforce。好处:协同工作;坏处:单点故障。
![](http://images0.cnblogs.com/blog2015/708076/201506/170915451544526.png)
分布式版本控制:每个客户端都是一个完整的版本库。任何一处协同工作的服务器发生故障,都可以通过任何一个本地仓库进行恢复。常见的软件系统:git、Mercurial等
![](http://images0.cnblogs.com/blog2015/708076/201506/170916311703835.png)
Git是当前最为流行的分布式版本控制系统。在git中的文件有三种状态:已提交(committed)、已修改(modified)、已暂存(staged)。
已提交:文件已经被保存到本地数据库。
已修改:某文件被修改,但是还没有提交。
已暂存:把已修改的文件放在下次提交时要保存的清单中。
在git中三种状态的文件对应的文件流转工作区域:git工作目录、暂存区域、本地仓库,具体看参考下图:
![](http://images0.cnblogs.com/blog2015/708076/201506/170917197323998.png)
以上对git中重要的概念做了简单介绍,有了基本了解之后我们先进行安装git。本文以window系统为例,安装步骤非常简单,再次不做过多介绍。
Git下载地址:http://www.git-scm.com/download/
Git安装完成之后,我们开始创建版本库。版本库也可以成为仓库,说白了就是一个目录,只不过这个目录中文件会被git管理,每个文件的增、删、改都会被git追踪。
1、 创建一个空目录:mygit
2、 初始化版本库:git init
在mygit中点击右键,在弹出菜单中选择Git Bash。在Git Bash命令行窗口中输入:git init 命令进行初始化版本库。
![](http://images0.cnblogs.com/blog2015/708076/201506/170918393738268.png)
命令执行完成之后,目录中会出现.git目录,主要此目录是Git用来管理跟踪版本库的不要随意修改。
3、新增文件:git add 文件名
首先新建一个文件readme.txt,在Git Bash中输入命令git add readme.txt
![](http://images0.cnblogs.com/blog2015/708076/201506/170919519351300.png)
通过命令:git status,可查看状态,文件readme.txt已经放入暂存区,但尚未提交到本地版本库中。
![](http://images0.cnblogs.com/blog2015/708076/201506/170920323263827.png)
通过命令:git commit,可提交文件到本地库,注意-m后面存放的是本次提交的注释。
![](http://images0.cnblogs.com/blog2015/708076/201506/170921062163772.png)
通过以上步骤,即可完成一个版本库的创建并添加新文件到库中。实际是在最后一步提交的时候,需要我们对git进行配置,具体内容请参考下一篇内容。
如有疑问咨询或技术交流,请加入官方QQ群:
![](http://pub.idqqimg.com/wpa/images/group.png)
(452379712)
作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章推荐
- C#中的ICustomFormatter及IFormatProvider接口用法揭秘
- C#使用默认浏览器打开网页的方法
- C# 并行编程 之 异步编程模型
- OpenGL openmesh cgal
- 网站变灰代码
- C# AppDomain.CurrentDomain.BaseDirectory是什么
- EditText自定义边框背景与动态检测用户输入
- FFmpeg - 音频解码过程
- 关于C语言中函数调用和参数传递机制的探讨 (转)
- 单链表中实现O(1)时间复杂度删除节点
- 详解Linux中SSH远程访问控制
- EXT弹出窗口
- 重写 覆盖 重载
- FFMPEG解码流程
- Maven异常Type Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- OSGI的bundle监听类
- 城市_我们只是过客
- 华尔街人必读40本金融佳作
- Delphi 各版本下载