学习——Git及VersionControl
一、Git基本介绍
1.Git是什么?
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
2.Git的特点:
(1):从服务器上克隆数据库(包括代码和版本信息)到单机上。(2):在自己的机器上创建分支,修改代码。(3):在单机上自己创建的分支上提交代码。(4):在单机上合并分支。(5):新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。(6):生成补丁(patch),把补丁发送给主开发者。(7):看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者 没有冲突,就通过。(8):一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
3.Git的功能:
(1):查看邮件或者通过其它方式查看一般开发者的提交状态。
(2):打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
(3):向公共服务器提交结果,然后通知所有开发人员。
4.基本的 Git 工作流程如下:
(1).在工作目录中修改文件。(2).暂存文件,将文件的快照放入暂存区域。(3).提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。所以Git 有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂(staged)。
Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作`‘索引’’,不过一般说法还是叫暂存区域。
6.Git的用法
Git 有多种使用方式。 你可以使用原生的命令行模式,也可以使用 GUI 模式,这些 GUI 软件也能提供多种功能。在命令行模式下才能执行 Git 的 所有命令,而大多数的 GUI 软件只实现了 Git 所有功能的一个子集以降低操作难度。如果是 Mac 用户,则要懂得如何使用终端(Terminal);如果是 Windows 用户,则需要懂得如何使用命令窗口(Command Prompt)或 PowerShell。
2.Version Control 中为什么要使用Git?
GIT 是一款免费的、开源的、分布式的版本控制系统。旨在快速高效地处理无论规模大小的任何软件工程。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。每一个GIT克隆都是一个完整的文件库,含有全部历史记录和修订追踪能力。其最大特色就是“分支”及“合并”操作快速、简便。支持离线工作,GIT是整个项目范围的原子提交,而且GIT中的每个工作树都包含一个具有完整项目历史的仓库。适合分布式开发,强调个体;公共服务器压力和数据量都不会太大;任意两个开发者之间可以很容易的解决冲突;离线工作;
学习——Git及VersionControl的更多相关文章
- 学习 git基础命令
缘起 年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊. 自己也就先从常用的技术开始学起,比如C#,AngularJS ...
- 学习Git的总结与体会
学习Git的总结 blog 第一次学习Git是完全按照廖雪峰老师的教程学习的,学的过程中基本上没有遇到什么问题,但是自己实际操作就问题不断了. 首先,还是按照惯例,来膜拜一下廖雪峰老师精简的教程知识吧 ...
- 深入理解学习Git工作流
http://blog.csdn.net/hongchangfirst/article/list/3 //可以看看 http://blog.csdn.net/hongchangfirst/articl ...
- [转]深入理解学习GIT工作流
深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...
- 记录我开始学习 Git的路程
工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子.为此记录下我的路程 2015,11,26 更新 前面的路都挺艰难的,在官网下载msysgit网速几乎为0(心情千万只 ...
- 推荐一个可视化的学习Git的好网站:LearnGitBranching
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:推荐一个可视化的学习Git的好网站:LearnGitBranching.
- 发现一个不错的学习git的地方
Git入门:http://rogerdudler.github.io/git-guide/index.zh.html 简洁.实用.高效的学习git基本操作的方式
- 深入理解学习Git工作流(转)
个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢迎st ...
- [少数派]如何学习Git
用玩游戏的方式学习 Git 目录 为什么要学习 Git 怎么学习 Git Learn Git Branching 其他学习资源 用游戏的方式来学习,是一种有趣而高效的方式. 从刚接触电脑时的打字练习软 ...
随机推荐
- 数据传递-------ajaxJson------spring3mvc中使用ajax传json中文乱码解决
参考来源:http://blog.csdn.net/dangerous_fire/article/details/25904225 第一种解决方法,适用所有情况 因为在controller中返回jso ...
- leetcode377 Combination Sum IV
思路: dp. 实现: class Solution { public: int combinationSum4(vector<int>& nums, int target) { ...
- TensorFlow OOM when allocating tensor with shape[5000,384707]
在session范围内不要进行eval()或者convert_to_tensor()操作, 否则会造成OOM,或者报出错误:GraphDef cannot be larger than 2GB usi ...
- RecylerView为item添加点击事件
RecyclerView侧重的是布局的灵活性,虽说可以替代ListView但是连基本的点击事件都没有,这篇文章就来详细讲解如何为RecyclerView的item添加点击事件. 1 原理: 为Recy ...
- 【C++】智能指针简述(二):auto_ptr
首先,我要声明auto_ptr是一个坑!auto_ptr是一个坑!auto_ptr是一个坑!重要的事情说三遍!!! 通过上文,我们知道智能指针通过对象管理指针,在构造对象时完成资源的分配及初始化,在析 ...
- The Runtime Interaction Model for Views-UI布局事件处理流程
The Runtime Interaction Model for Views Any time a user interacts with your user interface, or any t ...
- Django线上部署教程:腾讯云+Ubuntu+Django+Uwsgi(转载)
网站名称: 向东的笔记本 本文链接: https://www.eastnotes.com/post/29 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议.转载请注明出处! ...
- iview“官方“实现的右键菜单
博客开篇,没想到第一篇博文竟然是前端的,虽略显尴尬,但正能量溢出,你我可能遇到同样问题,在这里分享下个人方案,希望对你有用. 官方目前不提供右键菜单,这里借助Dropdown(下拉菜单)来实现,故为“ ...
- cout 按进制数出
头文件: #include<iostream> #include<iomanip> //setbase() #include<bitset> //bitset< ...
- Window下的———JDK环境的配置
1.先把JDK文件解压在一个文件夹里 2.去到 3.具体配置3个 具体按照这样文件路径配置.(CLASSPATH 需要添加一个 . ;加路径 ) 4.最后检验 显示出JDK版本号就表示配置成 ...