Git操作简介
一 概述
1.什么是Git?
Git是分布式版本控制系统。
2.集中式与分布式对比
在集中式版本控制系统中,版本库集中在中央服务器上,每次工作时都需要先从中央服务器获取最新版本,修改后,再推送到中央服务器,不仅受网路传输限制,而且一旦中央服务器发生故障,版本库可能全部丢失。而分布式版本控制系统,没有中央服务器,每一个工作电脑上都有一个完整的版本库,任务操作都是基于本地文件,文件修改后,只需要推送给其他协作人即可,不仅摆脱了网速的限制,而且版本库分布在多台电脑上,更加安全。
3.Git工作原理
Git本地操作分为三个区域:
- 工作区:本地仓库中可见目录均属于工作区。
- 暂存区:在“.git”文件夹中的index文件中。
- 版本库:在“.git”文件夹中。
先执行“git add”命令将操作放到暂存区(Stage),再执行“git commit”将暂存区的文件提交到版本库。
5.版本
版本是项目范畴的,代表了整个项目的状态,其中一个文件修改提交后,版本更新,其他未修改文件的版本也随之更新。
6.master
Git自动创建的主分支,只有该分支对其他用户可见,其他分支对其他用户不可见。
7.HEAD
指向工作区文件所属分支与版本。
二 分支
1.什么是分支?
基于主干的独立发展脉络,不影响主干的发展。
2.创建分支
基于一个已有分支的最新版本创建新的分支。
3.分支合并
如果从共同的起点处开始,两个分支中只有一个分支A修改了文件,那么将另一个分支的指针指向A分支当前的版本即可,合并后的文件就是A当前版本。如果从共同的起点开始,两个分支都修改了文件,那么合并时会出现冲突,手动修整,然后将文件添加到缓冲区Add to Index,再commit。
一个分支合并了另一个分支,将生成一个新的版本。
三 标签
标签的作用与commit id 相同,都是用来标记版本,commit id采用32位字符,难以记忆,因此产生了一种简化版本标记的方式,即标签,给需要特殊关注的版本自定义一个容易记忆的名字,便于以后查询。
四 常用操作
- reset:退后到某一版本。
- checkout:将工作区中的文件转化为某一个版本,选择某个分支为活动分支。
Git操作简介的更多相关文章
- Git 操作简介
安装完成创建用户和邮箱 git config --global user.name "username"git config --global user.email "t ...
- svn与git区别简介,git分支操作在mac客户端soureTree和使用命令行如何实现
svn与git区别简介: 性能方面(经过实践的) svn:下载速度慢,因为它其中的源文件太多,并且在show log日志的时候每次都需要去服务器拉取,速度很慢 git:下载速度快,并且git clon ...
- Go语言在线培训哪里好?Git操作和代码管理
在实际的项目开发过程中,多人进行项目开发,需要涉及到代码管理和协同管理.这就需要使用到代码协同管理工具.在过去,大家都熟悉使用的是SVN软件,而现在Git代码仓库管理软件的使用更为广泛.在本系列实战项 ...
- git rebase简介(基本篇)
原文: http://gitbook.liuhui998.com/4_2.html 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin& ...
- github Git 原理简介
由于Git是一个DVCS(Distributed Version Control System,分布式版本控制系统),不同于传统的CVS/SVN版本系统那样必须由一个中央服务器来管理所有的版本记录,它 ...
- Intellij 中的git操作 转!
http://blog.csdn.net/lovesummerforever/article/details/50032937 Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git ...
- 使用Git操作GitHub代码入门教程
GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...
- 转 git操作小结
UNDER MIT LICENSE. 公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月 ...
- Git Workflow简介
1. Git WorkFlow介绍 Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践.Git Flow是一套使用Git进行源代码管理时的一套行为 ...
随机推荐
- 使用 Mono.Cecil 辅助 Unity3D 手游进行性能测试
Unity3D 引擎在 UnityEngine 名字空间下,提供了 Profiler 类(Unity 5.6 开始似乎改变了这个名字空间),用于辅助对项目性能进行测试.以 Android 平台为例 ...
- linux下MongoDB客户端shell基本操作
MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:”xiaoming”},第二条记录:{name:”xiaoli”,age:15} ...
- 将github上的项目源码导入到eclipse中
1.注册github帐号 在github上注册一个自己的帐号. 2.安装git插件egit 在eclipse中安装git插件egit,安装方法可以参考这篇文章: http://www.cnblogs. ...
- struts2.3.23升级到struts2.3.32
新的漏洞 3月8号去审计厅培训系统的使用,那边计算机中心的负责人递过来一张如下图所示的文档,意思是发现了struts2的漏洞,需要进行修复. 在培训前,我登录到服务器中,看到了项目中,所有的服务器中应 ...
- ASP.NET Gridview数据库绑定支持增删改,记得要完整实现
1.错误情况 /WebSite3"应用程序中的服务器错误. 指定的参数已超出有效值的范围. 参数名: index 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息, ...
- 《JavaScript高级程序设计》里对 call() 和 apply() 的解释 (116页)
每个函数都包含两个非继承而来的方法:apply()和call().这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值. apply(): 方法接受两个参数:一个是在其 ...
- 关于ubuntu的图标创建以及快捷方式打开
//这里个人要添加的的为微信小程序开发工具 1:终端命令: sudo gedit /usr/share/applications/MyChat.desktop 2:修改启动器配置如下: [Deskto ...
- 消息:SQL Server 2017(vNext)的第三个公开的CTP(社区技术预览版)发布了
今天看到了一个新闻,跟大家分享一下,有兴趣的可以去尝试一下. SQL Server 2017 CTP3于5月23日发布了,详细版本号是6.7.55.0. 大家可以去安装试试.在下载页面,目前是SQL ...
- MysqlRouter 实现mysql5.6读写分离
下载,安装 [root@localhost src]# cd /usr/local/src/ [root@localhost src]# wget http://dev.mysql.com/get ...
- python基础 --02
常见的数据类型 列表 在python中,列表的创建可以是由[]两个方括号组成的.在其他语言中,被称之为数组. 列表里可以存放一组值,并且系统默认的给列表里的每一个元素以索引值,方便查找和使用. 如下: ...