git 相关介绍
git 结构
image.pnggit 和代码托管中心
代码托管中心任务:维护远程库
- 局域网环境下:Gitlab服务器
- 外网环境下:GitHub
本地库和远程库
-
团队内部协作
image.png -
跨团队协作
image.png
git 操作
本地库初始化
命令:git init
image.png
注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除和修改
设置签名
-
形式
用户名:jessy
Email地址:HelloJessy@abc.com -
作用:区分不同开发人员身份
-
注意:同github的登录账号密码没有任何关系
-
命令:
image.png
项目级别/仓库级别:尽在当前本地库范围内有效
git config user.name jessy_pro
git config user.email HelloJessy_pro@abc.com
签名信息保存位置:f./.git/config
系统用户级别:登录当前操作系统的用户范围
image.png
git config --global user.name jessy_glb
git config --global user.email HelloJessy_glb@abc.com
级别优先级:就近原则,项目级别优先于用户级别
签名信息保存位置:~/.gitconfig
基本操作
- 状态查看:git status
查看工作区、暂存区状态 - 添加操作:git add [file name]
将工作区的“新建/修改”添加到暂存区 - 提交操作:git commit -m "commit message" [file name]
-
查看历史记录
(1)git log
多屏显示控制:空格向下翻页;b 向上翻页;q 退出
(2)git log --pretty=oneline
image.png
简洁展示
(3)git log --oneline (只显示过去的历史记录)
image.png
更简洁展示
(4)git reflog (显示全部历史记录)
image.png
HEAD@{可展示移动到当前版本需要的步数} -
前进后退历史版本
(1)基于索引值操作(推荐):git reset --hard [局部索引值]
image.png
(2)使用^符号(只能后退):git reset --hard HEAD^
注意:一个^表示后退一步,n个表示后退n个
(3)使用~符号(只能后退):git reset --hard HEAD~n
注意:表示后退n个 - hard和soft以及mixed参数对比
(1)-- soft :仅在本地库移动HEAD指针
(2)-- mixed :在本地库移动HEAD指针,重置暂存区
(1)-- hard(一般使用hard参数):在本地库移动HEAD指针,重置暂存区 ,重置工作区 - 删除文件后找回
(1)删除后已提交到本地库:git reset --hard [指针位置:指向文件存在的历史记录]
image.png .
(2)删除并添加到暂存区,未提交到本地库:git reset --hard [指针位置:当前位置]
image.png -
比较文件差异
(1)git diff [文件名] :将工作区中的文件和暂存区进行比较
image.png
(2)git diff [本地库中历史版本] [文件名] :将工作区中的而文件和本地库历史记录比较
image.png
(3)不带文件名比较多个文件
分支管理
-
分支:在版本控制过程中,使用多条线同时推进多个任务。
image.png - 分支的好处:
(1)同时冰箱推进多个功能的开发,提高开发效率;
(2)各个分支在开发过程中,如果某分支开发失败,不会对其他分支有任何影响,失败分支删除重新开始即可; -
分支操作
(1)创建分支:git branch [分支名]
(2)查看分支:git branch -v
(3)切换分支:git checkout [分支名]
image.png
(4)合并分支:git branch [分支名]
第一步:切换到接收修改的分支上(被合并,增加新内容),git checkout [被合并分支名]
第二步:执行merge命令,git merge [有新内容分支名]
image.png
(5)冲突解决:
image.png
分支表现:
image.png
第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意的程度,保存退出
第三步:git add [文件名]
第四步:git commit -m "日志信息"(注意,此时不可带文件名)
(6)删除分支:
删除远程分支:git push origin --delete dev
删除本地分支:git branch -d dev
网友评论