git使用详解 terminal命令/sourceTree/Xcode

本文详细介绍了版本控制系统,包括本地、集中化和分布式版本控制的类型,重点讨论了Git作为分布式版本控制系统的优点。文章通过实例演示了Git的常用命令行操作,如`git status`、`git diff`、`git log`、`git reset`等,并讲解了分支管理和远程仓库的使用。此外,还提到了Xcode和SourceTree作为Git的图形化工具在代码控制中的应用。
摘要由CSDN通过智能技术生成

说到git,必须要先谈一下版本控制。什么是版本控制?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

版本控制的类型大致可以分为三大类:

本地版本控制系统

其中最流行的一种叫做 rcs,它的工作原理基本上就是保存并管理文件补丁(patch)。文件补丁是一种特定格式的文本文件,记录着对应文件修订前后的内容变化。所以,根据每次修订后的补丁,rcs可以通过不断打补丁,计算出各个版本的文件内容。

集中化版本控制系统

为了让在不同系统上的开发者协同工作,集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS)应运而生。这类系统,诸如 CVSSubversion以及 Perforce等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。然而,事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被客户端偶然提取出来的保存在本地的某些快照数据就成了恢复数据的希望。但这样的话依然是个问题,你不能保证所有的数据都已经有人事先完整提取出来过。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。


分布式版本控制系统

分布式版本控制系统( Distributed Version Control System,简称 DVCS),在这类系统中,像 GitMercurialBazaar以及 Darcs等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。


版本控制的类别说完了,那么为什么要如此重视git呢?基于其分布式版本控制的优点和工作(创建和切换分支等)的高效性,git已经越来越流行,在国内的IT开发中也会慢慢取代SVN的。当然取代只是博主个人观点,so,上干活。


git 的命令行的使用


1、git的初始化
首先在桌面上创建gitTest文件夹,然后创建ios项目并保存到gitTest文件夹下。当然,这里讲的是git的初始化,所以在创建工程的时候不要勾选创建git仓库选项,如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值