一、为什么要使用Git?
①方便记录修改,当变更项目的时候远程仓库中会存放你原有的项目
②方便多人协同开发,方便版本控制
二、Git的诞生
- 作者Linux之父:Linux Torvalds
- git开发目的:为了辅助 Linux 内核的开发
- 是 Linux Torvals 在无奈被逼的情况下创造的
- 2008年,GitHub 网站上线,为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub
- Git 迅速成为最流行的分布式版本控制系统(没有之一)
哈哈哈,看到大佬竖起的中指了嘛!小白表示瑟瑟发抖!!!
三、Git结构
1.结构图
2.本地代码管理
工作区(Workspace):添加、修改、删除`文件
暂存区(Index):将工作区中的操作完成小阶段的存储,是版本库的一部分
本地仓库区(Respository): 对个人开发的一个小阶段代码存储
- 记录的各版本可以查看或者回退
- 但是在暂存区的版本一旦提交就再也没有了(保存到仓库区中)
四、本地仓库操作
1.初始化操作
- 安装git: sudo apt-get install git(在虚拟机上安装)
- 查看git版本:git --version
如下图所示,将test当作本地仓库使用
- 全局配置个人信息
git config --global user.name “用户名”
git config --global user.email “邮箱地址”
查看配置信息命令:more ~/.gitconfig - 新建测试文件:vim test.py
- 查看文件状态: git status
- 将工作区添加到暂存区:git add .(添加项目中所有文件,也可指定文件名)
- 将暂存区文件提交到仓库区: git commit -m ‘一些描述’
- 查看历史版本:git log/git reflog
git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log 不能察看已经删除了的commit记录
- 版本回退:
①git reset --hard 版本号
②git reset --hard HEAD
HEAD表示当前最新版本
HEAD^表示当前最新版本的前一个版本
HEAD^^表示当前最新版本的前两个版本,以此类推…
从图中可以看到,我们回退到了之前的那个test.py的版本,此时test2.py已经不存在了,若想它重新出现,只需再回退一下版本即可,操作如下图所示:
此时test2.py又回来啦!!! - 撤销修改:只能撤销工作区、暂存区的代码
① 撤销工作区代码
git checkout 文件名
如上图所示在test.py中添加了a = 1,若想撤销此操作则执行命令:git checkout test.py
②撤销暂存区代码
# 第一步:将暂存区代码撤销到工作区
git reset HEAD 文件名
# 第二步:撤销工作区代码
git checkout 文件名
③撤销仓库区的代码就相当于回退版本操作 - 版本对比
①对比本地仓库库与工作区,在工作区,修改文件
输入命令: git diff HEAD – test1.py,可以看到这里多加了"print(’'11111")
②对比本地仓库各版本代码
输入命令:git diff HEAD HEAD^ – test1.py - 文件删除
①确定删除处理
删除文件: rm 文件名
git确定删除文件,对比添加文件git add :git rm 文件名
删除后记录删除操作版本: git commit -m ‘删除描述’
(也可撤销,只需回退版本即可)
②误删处理,撤销修改
删除文件:rm 文件名
git撤销修改: git checkout – 文件名
五、将项目推送到远程仓库
方法①:
- 先添加远程分支:git remote add origin 远程仓库地址
- 推送项目到暂存区: git add .
- 将项目提交到仓库区: git commit -m “注释信息”
- 强制推送:git push origin +master
这种方法会将远程仓库中的文件给覆盖掉,添加的是本地仓库中的文件,若你想在保留远程仓库文件的前提下添加本地仓库文件,可以用方法②
方法②:
前三步跟方法①是一样的,不同之处在于:
将远程仓库中的文件拉到本地:
命令:git pull origin master --allow-unrelated-histories
然后再推送到远程仓库:git push origin master
这样就可以保留原有远程仓库中的文件啦!!!
学习一时爽,一直学习一直爽!!!哈哈哈
感谢观看,希望对你有所帮助哦!有不懂的地方请留言!!!