`
羊咩咩
  • 浏览: 14510 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

git(1)--初步接触和安装

    博客分类:
  • git
git 
阅读更多

一直很想搞下git,为啥?因为最近很火。之前上github,英文看不懂,好吧,是懒得查翻译。然后不了了之了。现在开源中国有中文的教程,果断研究下(其实是无聊没事干)。

 

好,先来看下git的历史吧。

http://git.oschina.net/progit/1-%E8%B5%B7%E6%AD%A5.html#1.1-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6

这里有很详细的介绍。就不关公门前耍大刀了。不过还是按照我的理解总结下吧(好吧,没有理解,全是copy的)。

 

版本控制的三阶段:

一、本地版本控制系统

  • 例子:rcs;
  • 原理:保存并管理文件补丁;


  •  
  • 缺点:本地;

二、集中化的版本控制系统(CVCS)

  • 例子: CVS,Subversion 以及 Perforce 等;
  • 原理:有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新;


  •  
  • 缺点:如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险(记得之前做项目,svn挂掉,真是开心,在那玩了一下午);

 

三、分布式版本控制系统(DVCS)

  • 例子:Git,Mercurial,Bazaar 以及 Darcs 等;
  • 原理:客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复;


  •  
  • 缺点:这个没有说(怎么能自砸门面呢)

 git基础:

1、直接记录快照,而非差异比较(Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接


 

2、近乎所有操作都是本地执行(绝大多数操作都只需要访问本地文件和资源,不用连网。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。好像很diao有木有

3、时刻保持数据完整性(在保存到 Git 之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引

4、多数操作仅添加数据(安全)

5、文件的三种状态(已提交(committed),已修改(modified)和已暂存(staged),已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中

 

 

 

 

 git的安装和配置:

下载:window的下载地址: http://msysgit.github.com/

 

好吧,下载完就安装,还是一堆英文,闭着眼睛点点点,就安装完了。

 

然后桌面就有这货了:

 

 

打开一看,坑爹啊:



 

怎么设账号啊,怎么设文件夹啊!

 

看看命令:



 

设置账号:



 

 

查看配置信息:



 

因为window 下没linux那么随意性,其他就不怎么配了。

 

好了,洗洗睡吧。困了。

  • 大小: 22.5 KB
  • 大小: 42.6 KB
  • 大小: 57.5 KB
  • 大小: 43.8 KB
  • 大小: 58.3 KB
  • 大小: 12.9 KB
  • 大小: 40.7 KB
  • 大小: 61.1 KB
  • 大小: 25.3 KB
  • 大小: 31.2 KB
分享到:
评论

相关推荐

    hft-asgmt-git-KevinNguyenHFT:由GitHub Classroom创建的hft-asgmt-git-KevinNguyenHFT

    标题 "hft-asgmt-git-KevinNguyenHFT" 提示我们这可能是一个与高频交易(High-Frequency Trading, HFT)相关的项目,...通过完成这个任务,学生可以掌握基本的Git使用方法,理解版本控制的重要性,并初步接触Web开发。

    git-inicial

    1. **安装Git**:在不同的操作系统上,安装Git的方式略有不同。在Windows上,你可以下载并安装Git的图形化安装程序。在macOS和Linux上,可以通过包管理器(如Homebrew或apt-get)进行安装。 2. **初始化Git仓库**:...

    Git-Demo

    在这个项目中,"一些接触"可能指的是对Git基础概念的初步了解和实践。 在Java开发中,Git是不可或缺的工具,它允许开发者跟踪代码的变更、协同工作,并轻松回溯到之前的代码状态。下面将详细介绍Git的主要功能和...

    Learning-Back-End:初步学习-笔记和练习

    在“Learning-Back-End:初步学习-笔记和练习”这个资源中,我们可以看到一个针对初学者的Python后端开发的学习路径。这个压缩包文件名“Learning-Back-End-master”可能表明它是一个GitHub仓库的主分支,通常包含了...

    初步接触java 所思所感

    在“初步接触Java 所思所感”这个主题中,我们可以深入探讨Java这门编程语言的基础知识、学习路径以及在实际应用中的工具使用。这篇博客文章可能包含了作者初学Java时的一些思考和经验分享,而“源码”和“工具”这...

    can-duck-core:基于CAN的分布式微控制器通讯策略

    初步接触CAN-Duck1.1初步需求硬件:要运行网络收发测试,你需要一个USB转串口线,连接TX,RX交叉连接。如果没有串口线,可以运行虚拟串口通信测试。软件:我们采用vcpkg作为三方库的包管理器。依赖的包为gtest。安装...

    《Android Studio开发实战:从零基础到App上线》1-16章课件

    在Android Studio的初步接触中,读者将学习如何安装和配置这个强大的集成开发环境(IDE),了解其工作界面和基本功能,包括代码编辑器、调试工具以及项目管理等。Android Studio提供了直观的向导来创建新项目,这...

    cmake-3.10.2-win32-x86.zip

    CMake是一个跨平台的开源构建系统,用于管理软件构建过程。CMake不依赖于特定的构建工具,...对于初次接触CMake的用户,理解其基本概念和语法是关键,而“cmake-3.10.2-win32-x86.zip”提供的正是开始这一旅程的基础。

    MSC-IT-PART1-SEM1

    在这个课程中,学生可能会学习到如何使用 pandas 库处理数据,使用 NumPy 进行数值计算,使用 Matplotlib 和 Seaborn 进行数据可视化,以及初步接触机器学习库如 scikit-learn,进行简单的分类和回归模型的构建。...

    虚拟机和Linux系统的安装使用.zip

    总的来说,这份“虚拟机和Linux系统的安装使用”资料涵盖了虚拟机的安装与配置、Linux系统的选择与安装,以及初步的系统使用,是初学者踏入Linux世界的好起点。通过实践,你可以更好地理解和掌握这些知识,为后续的...

    Linux-3-ngay.rar_tu

    3. **Shell脚本编程**:初步接触Bash shell脚本,学习编写简单的自动化任务。 4. **系统维护**:了解磁盘空间管理(df、du)、系统性能监控(vmstat、iostat)和备份恢复策略。 通过这三天的学习,你将具备基本的...

    happyNewYear:这是我的第一个git项目

    标题 "happyNewYear:这是我的第一个git项目" 暗示了这可能是一个新手程序员创建的初步接触Git的练习项目。Git是版本控制系统,用于跟踪对代码库的更改,便于团队协作和代码管理。这个项目可能包含了学习如何使用Git...

    FirstGit:FirstGitTest

    【标题】"FirstGit:FirstGitTest"是一个与Git相关的项目,初步接触并测试Git的使用。Git是一款分布式版本控制系统,广泛应用于软件开发,尤其在Java编程领域中必不可少。通过这个项目,我们可以学习如何初始化Git...

    ubuntu基本工具Vim和Zsh等安装配置.txt

    适合初步接触ubuntu系统,需要配置git工具,VIm编辑器,zsh命令解释器及其插件的人

    hudson 学习资料

    以上是基于给定文档内容总结出的主要知识点,涵盖了 Hudson 的基本使用方法、安装配置流程以及如何创建和管理构建任务等方面的内容。通过这些知识点的学习,可以帮助初学者快速掌握 Hudson 的核心功能,并将其应用于...

    Python-100-Days-master.zip

    9. **Web开发**:通过Flask或Django框架初步接触Python Web开发,了解HTTP协议和路由、模板渲染、数据库交互等概念。 10. **数据分析和可视化**:使用pandas进行数据预处理,使用matplotlib和seaborn进行数据可视化...

    Lesson1-2

    你会学习到如何安装、配置和管理操作系统,以及基本的命令行操作。 3. **网络基础**:理解TCP/IP协议栈,包括IP地址、子网掩码、端口号等概念,以及HTTP、FTP等常见网络协议的工作原理。此外,还需了解网络拓扑结构...

    ssm程序--java学习

    8. **版本控制**:初步接触Git,理解版本控制的重要性及其基本操作。 总之,"ssm程序--java学习"是一个全面且实用的学习资源,对于希望深入了解Java Web开发的初学者来说,通过此程序能系统地学习和实践SSM框架,为...

    HSA-Academies-Coding-II-Day-1-Examples

    【描述】"HSA-Academies-Coding-II-Day-1示例" 进一步确认了这是一个教学情境,"Coding II"可能意味着这是编程课程的第二阶段,意味着学生已经接触过初步的编程知识,现在将进入更深入的学习。"Day 1"则表明这是新...

    东北地区经典linux初级教程

    9. **shell脚本编程**:初步接触Bash shell脚本编写,学习变量、条件语句、循环结构,以及函数的使用,从而自动化日常任务。 10. **版本控制系统Git**:作为现代开发者的必备技能,Git用于版本控制和协作,学习基本...

Global site tag (gtag.js) - Google Analytics