15 git简介
版本控制器
# 版本控制器:公司协同开发,张三,李四在自己本地开发代码,开发了10天开发出v1版本,V2版本 -多人协同开发代码合并 -对版本进行管理,能切换回老版本
如果出现冲突代码的合并,会提示后提交合并代码的开发者,让其解决冲突
git简介
什么是git:版本控制器 - 控制的对象是开发的项目代码
代码开发时间轴:需求1 => 版本库1 ==> 需求2 => 版本库2 => 版本库3(版本库1) => 版本库4(版本库2
版本管理软件:git ,svn(很老)
-svn:集中式管理,服务端(有个服务器放着)和客户端(开发人员)
-git:分布式管理,自己本地就能进行代码的提交,查看历史代码。。。
git使用
1.安装
# 1.下载对应版本:https://git-scm.com/download # 2.安装git: # 一路下一步 # 任意位置右击,能看到 -git bash here -git gui here
2.重点:git的三个区域
工作区 暂存区 版本库
代码存放区域 代码改完放到暂存区 管理了历史代码
修改删除代码 才能提交到版本库 必须从暂存区提交过来
3.常用命令
#创建一个文件夹,右击点git bash here,出现命令行窗口
3.1 git 初始化
git init # 初始化仓库,在某个想被git管理的文件夹下执行,会创建出 .git隐藏文件夹,代表该文件夹被git管理了
# 设置全局用户--》操作这个仓库的人是谁-->
git config --global user.name 'htt'
git config --global user.email '1252216398@qq.com'
#注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用
# 设置局部用户---》只对当前仓库有效 git config user.name 'liuqingzheng' git config user.email '3@qq.com' #注:在当前仓库的.git文件夹下,config
3.2 查看仓库状态
git status # 查看仓库状态 git status -s # 简约显示 # 在仓库下新建一个文件,查看,会发现是红色的 # 空文件夹不会被git管理
3.3 从工作区把改变提交到暂存区
git add 文件名字 git add . # 把当前路径下所有改变都提交到暂存区
3.4 从暂存区,提交到版本库
git commit -m '注释,不加注释提交不了' # 把暂存区的更改,提交到版本库
git status # 没有红色和绿色---》当前仓库下所有变化都被记录到版本库中了,后期可以回到这个状态
3.5 查看版本库的版本信息
git log # 查看版本库的日志信息,当前在那个版本上,就只能看到之前的 git reflog # 简短一些日志,可以看所有的变化
3.6 恢复到某个版本
git reset --hard 版本号 # 指定版本库中某个版本恢复到工作区
3.7 工作区回滚
git checkout . # 恢复工作区,恢复到跟版本库一样的状态,但是新增的文件,由于没被版本管理,它不会操作它
3.8 把暂存区的变化,拉回到工作区(由绿变红)
git reset HEAD .
小练习
-在zmyh.py 中加入一行代码 -git status # 红色的zmyh.py,没有提交到暂存区 -git add . # 提交到暂存区 -git commit -m '注释' # 提交到 版本库 -删除 zmyh.py -git status # 红色 -git add . # 提交到暂存区 -git commit -m '注释' # 提交到 版本库 # 到此,总共提交了三次(新建,修改了zmyh,删除了zmyh) -git log #查看日志 -git reset --hard b9b7824 # 回到某个版本 -git reset --hard 5de4a6b
过滤文件
# 有些文件,不想被git管理,就要设置忽略文件 # 在仓库路径下新建 .gitignore--->在里面配置忽略文件 """ 过滤文件内容 文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤 /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤 eg: a.txt:项目中所有a.txt文件和文件夹都会被过滤 /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤 /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤 *x*:名字中有一个x的都会被过滤(*代表0~n个任意字符) 空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件) """