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的更多相关文章

  1. git 入门教程之初识git

    初识 git git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 背景 我们都知道,Linus 在1991年创建了开源的linux系统,随着不断发展壮大,目前已发展成为最大 ...

  2. 在春意盎然的季节里初识GIT

    Git 与 SVN 区别 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等. 如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征. ...

  3. git初识

    下载网上的开发员的项目 git clone https://github.com/xxxxxx/test.git 下载好,进入刚下载的好的test项目目录,可以修改对应的代码,然后 git statu ...

  4. 初识git(17/8/21)

    git是一个分布式的版本管理系统 通过廖雪峰的官方网站(maybe2017)来学习的,比较详实跟着操作就行,记录基本的一些命令还有学习是遇到的一些问题和收获,方便下次查阅. git的安装 -. win ...

  5. mzy git学习,初识git(一)

    GIT学习 git工作区.暂存区.本地库.远程库 工作区:实际上我们工作的地方,进行写代码或者文件的地方. 暂存区:我们执行了git add 操作之后,就会被提交到暂存区. 本地库:其实最后我们需要执 ...

  6. katalon studio配置git与git项目创建

    katalon 是一款在2015年诞生的可以安装在windows.macOS.linux操作系统上,基于selenium 和 Appium 测试框架,并集成了这些框架的优点的自动化测试工具.关于这个工 ...

  7. [Git] 还原Git上commit,但是没有push代码

    直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转 ...

  8. 命令行操作svn和git和git

    前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...

  9. Git:Git初体验——Git安装配置

    作为即将成为一个程序员的男人,一直在听别人说Git多好多好,之前也随便了解了一些,但是始终没有决心去学会.现在大四了,只有毕设和一门开学六七周只去过一次课的全员必修课外,也没有什么事情做,何不去做这些 ...

  10. 使用Git、Git GUI和TortoiseGit

    1. 关于命令行 我一直建议在命令行中使用Git或者SVN.因为这样可能更加了解他们的工作方式,也不容易遗漏重要的问题和提醒. 在Windows习惯的驱使下,大多数人是不会看弹出的对话框中有什么信息的 ...

随机推荐

  1. Bootstrap for MVC:Html.Bootstrap().TextBoxFor(model=>model.Name)

    在上篇博文中提到最近比较忙,也打过招呼Orchard系列文章更新速度可能会放缓,但还是会继续写下去,主要原因在最近想着开发一个新的东西(系统?组件?),等有一定成果时会跟大家分享一些相关的东西,今天介 ...

  2. ORACLE 创建作业JOB例子

    --1.plsql中学习job   --学习job  --建表  create table test_job(para_date date);  commit;    insert into test ...

  3. xcode 打静态库.a文件

    原文地址:http://blog.csdn.net/pjk1129/article/details/7255163 核心命令:lipo -info 地址.查看支持的类型,如armv7 lipo -cr ...

  4. AX Dynamic 2012 tabletype:TempDB使用

    LedgerJournalTmp ledgerJournalTmpJoin; LedgerJournalTransAccrual this.takeOwnershipOfTempTable(ledge ...

  5. 【转】JVM内存模型

    http://longdick.iteye.com/blog/473866 图解JVM内存模型 博客分类: JVM JVM活动SUN  /** *  转载请注明作者longdick    http:/ ...

  6. android Tab 类型切换界面

    实现方案:viewpager + fragment + FragmentPagerAdapter 效果图: 可以左右滑动切换选项卡,或者点击: 如果想使用fragment的时候又想可以左右滑动,就可以 ...

  7. Hibernate总结

    SSH原理总结 Hibernate工作原理及为什么要用: 原理: hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改 ...

  8. [转载]: delphi中XLSReadWrite控件的使用(2)---delphi XE下安装

    一.下载 官方下载网址: http://www.axolot.com/components/download.htm 从这里可以下载到从Delphi5到DelphiXE全部支持的版本. 二.软件安装 ...

  9. Dig out deleted chat messages of App Skype

    Last month Candy was arrested on suspicion of having doing online porn webcam shows, but Candy refus ...

  10. java对话框形式实现加减乘除

    import javax.swing.JOptionPane; // import class JOptionPane public class sumit{ public static void m ...