Git(上)实战操作流程

今天这里不系统介绍Git操作原理及命令,不搞那么多花里胡哨,直接上实战。
本文适合初学者学习,也适合老玩家温故。
Git(上)实战操作流程_第1张图片

曾经多少初学者因为Git入过坑

Git(上)实战操作流程_第2张图片
模拟一个场景,教你如何使用Git命令操作。学会命令走遍天下都不怕,不论什么图形化操作原理都一样。
如果想深度了解Git原理,可以去小甲鱼那里学习。https://www.bilibili.com/video/av8261658

一、花1分钟了解一下原理

Git是由Linux发明人Linus,使用C语言写的一个版本控制工具。
为什么Git是版本控制领域的倚天屠龙,下面比较一下Git与SVN。

1.1 SVN记录的是每一次版本变动的内容

SVN类似于写小说,每次修改时没必要把前一版本抄一遍,只是修改错别字(△标示修改部分)。
Git(上)实战操作流程_第3张图片

1.2 Git则是将每个版本独立保存

以前看似扣门的Linus同学在Git迭代时一点都不扣门。每个版本都是独立的保存。比如有File1五个版本,就会有File1的五个拷备。这种设计看似会消耗更多空间,但是在分支管理上它却带来很多的益处和遍利。
Git(上)实战操作流程_第4张图片
用空间换取了时间
普通的程序员是把很多的时间放在写代码和调Bug上,而优秀的程序员是将更多的精力放在设计上!

二、心法

2.1 Git通过维护三棵树来实现版本控制

Git(上)实战操作流程_第5张图片
Git(上)实战操作流程_第6张图片
工作区域(Working Directory)就是你平时存放项目代码的地方(比如本地目录)

暂存区域(Stage)用于临时存放你的改动,事实上它只是一个文件,保存即将提交的文件列表信息(重点它是一个文件,记录列表信息。
可以理解为,准备要做某事,先把它记录到日记本上,这个日记本就相当于暂存区域,不是实际办的事,只是记录而已)

Git 仓库(Repository)就是安全存放数据的位置,这里边有你提交的所有版本的数据。其中,HEAD 指向最新放入仓库的版本(这第三棵树,确切的说,应该是 Git 仓库中 HEAD 指向的版本)

2.2 Git的工作流程一般是酱紫

  1. 在工作目录中添加、修改文件,此时状态为已修改(modified)
  2. 将需要进行版本管理的文件放入暂存区域,状态为已暂存(staged)
  3. 将暂存区域的文件提交到Git仓库,状态为已提交(committed)

三、场景案例

开发团队有开发者 001002 ,现他们共同完成一个项目,下列是 开发者001开发者002 在项目中对Git的操作情况,这里远程仓库为码云。

3.1 001从码云上克隆项目到本地

注意观查本地磁盘目录。

命令:克隆项目
git clone <远程仓库地址>

Git(上)实战操作流程_第7张图片

3.2 001先查看一下自己目前的工作状态

此时还未对项目进行任何修改,查看状态为未修改状态。

命令:查看工作状态
git status

Git(上)实战操作流程_第8张图片

3.3 001开始开发,新建两个新文件并添加文本内容

新建 Z111.txt 和 Z555.txt
Git(上)实战操作流程_第9张图片

3.4 001将自己开发的内容提交到远程仓库


1.先查看工作状态,其中有两个文件修改了 	
   git status
2.命令:添加修改文件到暂存区
   git add <文件名/可用正则>
3.命令:提交到本地仓库
   git commit -m '提交描述'
4.命令:推送到远程仓库,默认推送到远程master分支
   git push origin master

Git(上)实战操作流程_第10张图片

3.5 002将项目从远程克隆到自己的本地

命令雷同 3.1,如下图。
Git(上)实战操作流程_第11张图片

3.6 002进行开发

修改文件 Z111.txt
Git(上)实战操作流程_第12张图片

3.7 开发者002将自己修改的内容提交到运程仓库

命令雷同 3.4,如下图。
Git(上)实战操作流程_第13张图片

3.8 在002开发的同时,001也对自己本地的项目进行了修改

Git(上)实战操作流程_第14张图片

3.9 开发者001也要提交到远程,他还要考虑远程是否有新内容

第四点重视一下。

1.查看工作状态
   git status
2.添加修改到暂存区
   git add <文件名称>
3.提交到本地仓库
   git commit -m '提交描述'
4.考虑到远程仓库是否有其它开发人员提交新内容,所以需要先拉取合并。拉取远程仓库到本地仓库。
   git pull origin master

此时由于本地仓库与远程仓库内容不同而导致冲突,提示如下图。
Git(上)实战操作流程_第15张图片

3.10 开发者001合并冲突,将001与002修改的Z111.txt文件内容都保存

开发者 001 打开自己本地工作目录的文件,发现文件变为以下格式。
Git(上)实战操作流程_第16张图片
进行合并,将文件修改为以下。
Git(上)实战操作流程_第17张图片

3.11 开发者001将合并好的文件提交远程仓库

操作雷同 3.4,如下图。
Git(上)实战操作流程_第18张图片

3.12 管理员查看远程仓库,看一下目前提交状况

Git(上)实战操作流程_第19张图片

3.13 开发者002拉取远程仓库的最新内容

命令:拉取
git pull origin master

Git(上)实战操作流程_第20张图片
Git基本操作完成,关于Git常用命令整理与突发情况处理。
敬请期待 — Git实战(下)

你可能感兴趣的:(git)