Git是甚么?
想像如下表右图情景,你早已开始给顾客写两个计划,天天看球总算写好了1.0版,你采用word来储存,留存在你的D盘的计划产品目录下:
D:/计划 – **计划-1.0.doc顾客看了之后,给你提了许多意见提议,只好你对计划展开了修正,为的是留存历史纪录,你复本了1.0版,更名为2.0版,接着又递交给顾客看,那时你的文件格式产品目录如下表右图右图:
D:/计划 – **计划-1.0.doc – **计划-2.0.doc顾客看了后,却是不令人满意,只好你有了3.0版:
D:/计划 – **计划-1.0.doc – **计划-2.0.doc – **计划-3.0.doc顾客看了后十分令人满意了,说再稍稍修正呵呵就能了。这时早已较为晚了,你急于回去展开修正。只好你用U盘或记事本将文件格式复本回去,在他们家中的笔记本电脑上展开撰稿,撰稿完后,隔天又用U盘或Auron将文件格式复本回了子公司的笔记本电脑。总算,你顺利完成了完整版:
D:/计划 – **计划-1.0.doc – **计划-2.0.doc – **计划-3.0.doc – **计划-完整版.doc当你Jaunpur的将完整版计划给顾客看了后,顾客又明确提出了提议,你一言不发嘟囔的回去,又改了最完整版:
D:/计划– **计划-1.0.doc – **计划-2.0.doc – **计划-3.0.doc – **计划-完整版.doc – **计划-最完整版.doc最终,顾客来了句,却是依照第三版来吧。你难忍!
对下面的每两个文件格式,实际都是两个版。我们目前是通过手工复本的方式来展开版的管理。对单个文件还好,如果你需要同时管理多个文件的版,比如:项目代码。那么这种方式显然是不可取的。
这时,你就需要版管理软件来帮你顺利完成手工复本的工作。而Git就是一种版管理软件。采用Git管理
我们来看呵呵,下面的情景,我们通过git如何来展开管理。
首先,我们通过 git init 计划命令来初始化计划产品目录,进入计划产品目录后,我们依然创建计划文件格式,这时的产品目录看起来像这样:D:/计划 – **计划.doc这时的产品目录结构和之前没甚么太大的区别。我们编写完文件格式后,通过如下表右图命令储存呵呵文件:
git add**计划.doc git commit -m1.0版接着,我们把文件格式给顾客看,顾客不令人满意,我们需要展开修正。这时,我们不需要复本一份文件格式展开撰稿,能直接在对应文件格式上展开修正。修正顺利完成后,执行类似下面的代码展开版管理。
gitadd **计划.doc git commit -m 2.0版期间,你需要回家加班。这时你不需要Auron或记事本,只需要通过git push origin master命令,将文件格式推送到远程服务器即可。到家后,你直接通过git clone ***命令,将文件格式下载到本地笔记本电脑,撰稿顺利完成后,通过如下表右图命令递交:
git add **计划.doc git commit -m 3.0版 git push origin master回到子公司后,你通过git pull origin master
命令将最新的文件格式下载下来,即可继续撰稿了。
最终,如果顾客还想要1.0版,只需要根据对应的id展开checkout即可。Git概念模型
对下面的命令我们展开汇总,一般我们采用得较为多的Git指令如下表右图:
# 初始化git git init test-dir # 添加文件到暂存区 git add test.txt # 递交到本地仓库 git commit -m test # 推送到远程仓库master分支 git push origin master # 检出branch-01分支 git checkout -b branch-01 # 合并master分支 git merge master # 推送到远程仓库branch-01分支 git push origin branch-01下面的指令涉及到了如下表右图概念:
工作区:就是我们编写内容的产品目录。对应下面的例子,就是「计划」产品目录暂存区/索引区:当我们执行git add指令时,git会将对应文件添加到暂存区/索引区本地仓库:能认知为是本地数据库,递交信息会在此处记录远程仓库:远程仓库和本地仓库本质上是一样的(后面的内容会展开详细的说明),只是两个在你本机,两个在远程。分支:你能认知为数据库中的一张表,和真正的数据表区别的地方是,每个分支的Schema都是一样的,并且能合并。
整个过程如下表右图图右图:总结
本文通过两个简单的示例,来加速梳理Git,让大家对Git有两个初步的认识。下面将通过两个详细的例子,来阐述Git的实际采用。