【使用git】初识git
0. 版本控制
版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修改情况的系统(vcs)。
svn等是集中式版本控制,即服务器在单一机器上,每次checkout变化的文件,若机器故障,则有可能很难恢复。而git等则是分布式控制,相当于每次checkout都是一次完整的本地备份,则遇见故障也可以轻松恢复过去。
1. git特性
速度、设计简单、对非线性开发模式的强力支持(允许多个并行开发的分支)、完全分布式、有能力高效管理大型项目如linux内核
2. 基础要点
• 直接快照,而非比较差异,只关心文件数据的整体是否变化,其他系统则只关心文加内容的具体变化。
• 近乎所有操作都可本地执行,即便断网也可在本地操作,联网时再上传到服务器。
• 时刻保持数据完整,在保存前进校内容校验和计算(checksum),并将结果作为数据的唯一标识和索引,所以文件传输时不完整或磁盘损坏,git都能立即察觉。
git使用sha-1算法计算数据的校验和,通过对文件的内容或目录的结构计算出一个sha-1哈希值,作为指纹字符串。该字符串由40个十六进制字符(-,a-f)组成,例如: 24554avbfg6yhui890oplkjhgt5r4edsc33456u8 保存在git数据库中的东西都是用哈希值来做索引的而不是文件名。
• 多数操作仅添加数据
• 三种状态:已修改、已暂存、已提交
3. 安装
方式:源代码/安装包
4. 配置(具体配置命令参看git config)
• 用户信息配置
全局配置,使用所有项目 git config --global user.name 'hhb' git config --global user.email ***@qq.com 单个项目只要在项目内的配置中去掉global即可 使用git config --get user.name可查看用户名
• 指定文本编辑器
git config --global core.editor vim
• 差异分析工具
git config --global merge.tool vimdiff
• 查看配置信息
git config --list
5. 帮助
若需要查看工具使用方法,可以用help命令
git help config 查看config的帮助
【使用git】初识git的更多相关文章
- git 入门教程之初识git
初识 git git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 背景 我们都知道,Linus 在1991年创建了开源的linux系统,随着不断发展壮大,目前已发展成为最大 ...
- 在春意盎然的季节里初识GIT
Git 与 SVN 区别 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等. 如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征. ...
- git初识
下载网上的开发员的项目 git clone https://github.com/xxxxxx/test.git 下载好,进入刚下载的好的test项目目录,可以修改对应的代码,然后 git statu ...
- 初识git(17/8/21)
git是一个分布式的版本管理系统 通过廖雪峰的官方网站(maybe2017)来学习的,比较详实跟着操作就行,记录基本的一些命令还有学习是遇到的一些问题和收获,方便下次查阅. git的安装 -. win ...
- mzy git学习,初识git(一)
GIT学习 git工作区.暂存区.本地库.远程库 工作区:实际上我们工作的地方,进行写代码或者文件的地方. 暂存区:我们执行了git add 操作之后,就会被提交到暂存区. 本地库:其实最后我们需要执 ...
- katalon studio配置git与git项目创建
katalon 是一款在2015年诞生的可以安装在windows.macOS.linux操作系统上,基于selenium 和 Appium 测试框架,并集成了这些框架的优点的自动化测试工具.关于这个工 ...
- [Git] 还原Git上commit,但是没有push代码
直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转 ...
- 命令行操作svn和git和git
前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...
- Git:Git初体验——Git安装配置
作为即将成为一个程序员的男人,一直在听别人说Git多好多好,之前也随便了解了一些,但是始终没有决心去学会.现在大四了,只有毕设和一门开学六七周只去过一次课的全员必修课外,也没有什么事情做,何不去做这些 ...
- 使用Git、Git GUI和TortoiseGit
1. 关于命令行 我一直建议在命令行中使用Git或者SVN.因为这样可能更加了解他们的工作方式,也不容易遗漏重要的问题和提醒. 在Windows习惯的驱使下,大多数人是不会看弹出的对话框中有什么信息的 ...
随机推荐
- 压测 linux + jexus + mono + asp.net mvc
环境: 1.centos 7 + jexus 5.8.1 + mono 4.4.2 + asp.net mvc 4 做了一点小优化: 一.调整文件描述符数量限制编辑 /etc/security/lim ...
- 全局修改Lable/Button字体
本次版本需求要把原来的字体全改掉,由于项目中有的是代码创建的,有的是XIB中直接改的,一个一个改工作量太大,使用运行时可以很轻松的实现 首先,项目中大多数设置字体的控件有 Lable, ...
- C++ malloc new 的区别
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存. malloc实现了在堆内存管理中进行按需分配的机制,但是它不提供在C ...
- [前端_EasyUI]给easyui的datebox设置默认值,获取不到 的解决方法
//给eayui datebox设置初始值 $("#ctime").datebox("setValue", function(){ var date = new ...
- 相同的问题又出现了,struts2取不出数值
debug里面是有数值的,不知道是不是又是表示错了.全部改成了小写也无济于事.正在想法解决中... 问题解决了,因为自己的不仔细,问题还是出在了action的set,get方法里,不是大小写没注意,改 ...
- ajax XML
<script src="jquery-1.11.2.min.js"></script> </head> <body> <se ...
- Reactjs 入门基础(三)
State 和 Props以下实例演示了如何在应用中组合使用 state 和 props .我们可以在父组件中设置 state, 并通过在子组件上使用 props 将其传递到子组件上.在 render ...
- UVa 10300 - Ecological Premium
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=s ...
- 未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序解决方案
未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序解决方案 一.现象: C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库.但程序执行时报 ...
- LoadRunner ---思考时间设置
用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信息是否正确等. 也就是说用户在做某些操作时, ...