一直很想搞下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" 提示我们这可能是一个与高频交易(High-Frequency Trading, HFT)相关的项目,...通过完成这个任务,学生可以掌握基本的Git使用方法,理解版本控制的重要性,并初步接触Web开发。
无论你是刚刚接触Git的新手,还是希望提升自己Git技能的资深开发者,都能从本书中获得宝贵的知识和经验。 总结来说,《ProGit中文版》作为一本全面的Git教程,不仅涵盖了Git的安装、配置、基本操作和高级特性,还...
随后,廖雪峰将详细介绍Git的安装与配置,对于不同操作系统的用户,都能在这里找到适合自己的安装方法和环境配置指南。紧接着是Git的基本命令,这部分内容是每个Git用户都必须掌握的,涵盖了从初始化仓库到文件的...
1. **安装Git**:在不同的操作系统上,安装Git的方式略有不同。在Windows上,你可以下载并安装Git的图形化安装程序。在macOS和Linux上,可以通过包管理器(如Homebrew或apt-get)进行安装。 2. **初始化Git仓库**:...
在这个项目中,"一些接触"可能指的是对Git基础概念的初步了解和实践。 在Java开发中,Git是不可或缺的工具,它允许开发者跟踪代码的变更、协同工作,并轻松回溯到之前的代码状态。下面将详细介绍Git的主要功能和...
在“Learning-Back-End:初步学习-笔记和练习”这个资源中,我们可以看到一个针对初学者的Python后端开发的学习路径。这个压缩包文件名“Learning-Back-End-master”可能表明它是一个GitHub仓库的主分支,通常包含了...
在“初步接触Java 所思所感”这个主题中,我们可以深入探讨Java这门编程语言的基础知识、学习路径以及在实际应用中的工具使用。这篇博客文章可能包含了作者初学Java时的一些思考和经验分享,而“源码”和“工具”这...
初步接触CAN-Duck1.1初步需求硬件:要运行网络收发测试,你需要一个USB转串口线,连接TX,RX交叉连接。如果没有串口线,可以运行虚拟串口通信测试。软件:我们采用vcpkg作为三方库的包管理器。依赖的包为gtest。安装...
在Android Studio的初步接触中,读者将学习如何安装和配置这个强大的集成开发环境(IDE),了解其工作界面和基本功能,包括代码编辑器、调试工具以及项目管理等。Android Studio提供了直观的向导来创建新项目,这...
这些内容对于学习者来说,不仅可以构建坚实的理论基础,还可以让他们初步接触和了解行业中的实际应用场景。 在这样的教学体系中,学习者不仅可以学习如何编写代码,还可以学习如何构建项目结构,编写可维护和可读性...
CMake是一个跨平台的开源构建系统,用于管理软件构建过程。CMake不依赖于特定的构建工具,...对于初次接触CMake的用户,理解其基本概念和语法是关键,而“cmake-3.10.2-win32-x86.zip”提供的正是开始这一旅程的基础。
它让初学者能够更快地接触和学习Git版本控制,降低了学习门槛。对于需要频繁进行团队协作的开发者来说,Github_for_Windows同样提供了便捷的团队管理工具和协作平台。 知识点七:常见问题解决 在使用Github_for_...
在这个课程中,学生可能会学习到如何使用 pandas 库处理数据,使用 NumPy 进行数值计算,使用 Matplotlib 和 Seaborn 进行数据可视化,以及初步接触机器学习库如 scikit-learn,进行简单的分类和回归模型的构建。...
总的来说,这份“虚拟机和Linux系统的安装使用”资料涵盖了虚拟机的安装与配置、Linux系统的选择与安装,以及初步的系统使用,是初学者踏入Linux世界的好起点。通过实践,你可以更好地理解和掌握这些知识,为后续的...
3. **Shell脚本编程**:初步接触Bash shell脚本,学习编写简单的自动化任务。 4. **系统维护**:了解磁盘空间管理(df、du)、系统性能监控(vmstat、iostat)和备份恢复策略。 通过这三天的学习,你将具备基本的...
标题 "happyNewYear:这是我的第一个git项目" 暗示了这可能是一个新手程序员创建的初步接触Git的练习项目。Git是版本控制系统,用于跟踪对代码库的更改,便于团队协作和代码管理。这个项目可能包含了学习如何使用Git...
【标题】"FirstGit:FirstGitTest"是一个与Git相关的项目,初步接触并测试Git的使用。Git是一款分布式版本控制系统,广泛应用于软件开发,尤其在Java编程领域中必不可少。通过这个项目,我们可以学习如何初始化Git...
以上是基于给定文档内容总结出的主要知识点,涵盖了 Hudson 的基本使用方法、安装配置流程以及如何创建和管理构建任务等方面的内容。通过这些知识点的学习,可以帮助初学者快速掌握 Hudson 的核心功能,并将其应用于...
9. **Web开发**:通过Flask或Django框架初步接触Python Web开发,了解HTTP协议和路由、模板渲染、数据库交互等概念。 10. **数据分析和可视化**:使用pandas进行数据预处理,使用matplotlib和seaborn进行数据可视化...
你会学习到如何安装、配置和管理操作系统,以及基本的命令行操作。 3. **网络基础**:理解TCP/IP协议栈,包括IP地址、子网掩码、端口号等概念,以及HTTP、FTP等常见网络协议的工作原理。此外,还需了解网络拓扑结构...