1 Git简介
学习一门技术老师更加倾向于看官网的。
度娘看完了,官网看完了,大家还是很懵逼
学生成绩管理系统
登录模块 3.2
登录模块进一步完善 缺一个验证码的功能 3.3
登录模块还有一些小bug需要处理 3.4
学生的添加模块 3.5
这绝对不是一个优秀的程序员该干出来的事情!
多人开发的时候(甲乙丙)
合作去开发一个购物网站
甲:订单处理模块
乙:商品管理模块
丙:其他模块
每个人单独在自己的系统中进行开发,这时候最终需要把单个分散的系统整合成一个完成的,怎么办?
Copy到一个人的机器上,大家眼睛都盯着这个电脑,然后啪啦啪啦copy。如果说在整合的时候,你发现哪个哥们他写的模块有问题。数据库的整合,订单模块里面的内容需要调用到商品模块的内容。
当你中招了之后,这是好事,犯了错,才能解决嘛
纵观整个软件开发历史,也有几十年的历史了吧,当你现在的遇到的一些问题,我们前辈们肯定遇到的。
既然前辈们遇到了,他们肯定有义务(想要)去解决。
大纲并没有去罗列出来
之前老师的Maven视频有18小节
两者切换起来大家看的时候比较不专注
2 Git官网
对于官网(尤其是这种英文官网,比较害怕),看了比较痛苦,主要是看不懂
心里也知道看官网是最权威的,任何的其他途径的中文文档都是翻译过来,翻译就有一个麻烦的地方,有时候不准确,译者他翻译的结果达不到你自己内容的一个期望。
还是要尝试去看官网。
可以先有一个整体的认识,采用总-分-总的原则
开源-开放源代码 所有人都可以参与其中的开发,更加有利于一款软件或者技术的发展。
官网最权威的一个文档提供给大家学习
其实对于英文文档也不是那么难看懂嘛,实在遇不到不会的单词你查。
3 下载与安装
先从Windows入手,考虑到大家手上有的操作系统。
选择自己对应的操作系统,然后进行傻瓜式安装即可。
Windows
Linux中的安装
yum install git 啪啦啪啦进行安装嘛
接下来的课程中我们会进行windows和linux中的命令使用。
4 Git初体验
通过前面三个小节的学习,我们已经基本上知道了git是干什么的,以及git的下载和安装等。
我们还想知道,git到底怎么去进行版本控制。
需求是:比如有一份文本文件,想要操作这个文本文件。我去不断的修改这个文件的内容,每次修改之后,我需要记录修改的历史记录。
也就是说,在使用git进行版本管理之前,需要进行一个配置,这个配置是告诉git你的用户名以及你的邮件账号
小技巧:忘记命令的具体写法时,可以进行Tab键进行提示。
git add git commit 就可以对当前的一个版本进行控制
两天进行了修改,并且把每一次修改提价到了版本库,然后我的需求是,想要回退到3.6写的内容
我利用这种思想,可以一个文件走天的。
时光穿梭,回退以前可以
那假如我想到“当下”,这时候怎么办呢?
5 Git学前知识
不妨先来画图,画图是老师的一个绝招,老师要用绝招给大家展示一些东西。
工作区就是你当前使用的一个目录,比如“gupaogit”文件夹
版本库就是add以及commit之后的乱七八糟的东西
使用git,步骤:
- 下载与安装
- git config --global user.email/name
- git init 对一个文件夹目录进行git初始化操作,这个初始化就是为了让git对这个文件夹中的文件进行版本管理。
初始化完成之后,在当前目录下会有一个.git文件夹,这个文件夹就是我们所说的版本库。
现在就可以用git对其下的文件进行一个版本的控制,就是可以对它进行一个版本的回退,回到当前等等。
4. 接下来你的操作就是
无非在这个工作区或者仓库中创建文件,然后对文件进行一系列修改操作之类的。
Git的要求是,你要让git帮你进行的版本的管理,必须先有一个文件夹,这个文件夹要被git进行初始化操作,这样才能进行一个git的版本管理。
6 Git基础操作
git status git add git commit
需求:在git工作区中新建一个文件,名称为“gupao.txt”。
git status:表示查看git工作区(仓库)中的一个状态
(1)nothing to commit
(2)当你新建了一个文件之后
Untracked files: 未被追踪的文件
(3)当我们进行git add gupao.txt之后
(4)当我们进行git commit -m “gupao first”
只有进入到提交区之后,我们的文件才能被git真正意义上管理起来
(5) 对应我们创建一个新文件的时候的状态
git add:就是将工作区中的内容add到暂存区
git commit:将暂存区的内容commit到提交区
要想让git对你的文件内容进行版本管理,必须经过两个步骤,第一个是git add,第二个是git commit。
可以随时随地使用git status进行工作区中状态的查看。
7 Git log和版本切换
大家都知道git可以进行版本控制与管理。
如果你想要进行版本的切换的话,你需要知道的就是这个commitid,也就是说你要知道每一次提交的信息才可以。
就要去查看这个每次的commitid是什么
Git log 日志,也就是说查看git的日志信息
Commit
Author :作者 就是你当初配置 git global --- user.name
Date:提交的日期
根据每次的commitid进行一个版本的切换。
git reset --hard commitid(这个id可以根据git log查看日志信息去找到)
我觉得这样打印出日志信息太多了,能不能简化一下呢?
git log --pretty=oneline
补充的知识点:
我觉得我就是想要回退到上一个版本,今天修改了一些东西
直接回退到上一个版本 git reset --hard HEAD^ 回退到上一个版本
Git reset --hard HEAD^^ 回退到上上个版本
麻烦是,回退到之前的版本之后,最新的commitid没了,如果你的之前的操作窗口有,你复制过来进行
重点是要找到最新的一个版本的commitid即可。 git reflog
如果进行版本回退之后,发现commitid最新的没了,你可以使用git reflog进行所有的commitid的查询。
8 工作区暂存区和提交区
在工作区进行了修改,然后git status会有一个提示,告诉你下一步需要干嘛
正常的思维,你会进行git add
后悔当前的操作,git checkout -- gupao.txt 会撤销工作区中的一个修改,也就是说你不需要进行git add操作了。
对于已经在暂存区的内容,使用git checkout -- gupao.txt 不可行了
git reset HEAD gupao.txt 回到提交区中的最新版本
接下来需要做的就是再次使用git checkout -- gupao.txt,将修改拉回到工作区,把工作区的修改内容清空