git config --global user.name zhangmazi_glb
git config --global user.email 1016942589_glb@qq.com
4.3.2 添加操作—git add [file name]
将工作区新建/修改添加到暂存区
4.3.3 提交操作—git commit -m "commit message" [file name]
将暂存区的内容提交到本地库
git add good.txt 将good.txt提交到暂存区,如果现在还没有提交但是对于暂存区得刚刚提交得文件不想提交了,可以使用git rm --cached good.txt从缓存区移除,如果想要继续提交到远程仓库就需要使用 git commit good.txt。但是会出现一个vim编辑器让你对提交得内容进行描述处理。
按下a键或e键进入编辑模式
编辑完成之后,按下Esc键输入:wq回车就会退出vim编辑器
用vim对good.txt进行编辑后再次查看git status 自动检测到我们文件进行了修改
#使用特定得提交不再进入vim编辑器而是在提交得时候进行描述
$ git commit -m "My second commit,modify good.txt" good.txt
4.3.4 查看历史记录操作—git log
git log #查看的是本地库,详细显示
**多屏显示控制方式:空格向下翻页、b向上翻页、q退出。**如果显示 : 则说明内容一页放不完,按空格进入下一页直到出现(END)才算是最后一页
git log --pretty=oneline #每个记录一行显示
git log --oneline #哈希值缩短了
git reflog #在oneline版本上显示了移动到其他版本需要几步
#HEAD@{移动到当前版本需要多少步}
4.3.5 版本前进后退—git reset --hard [局部索引值]
基于索引值操作【推荐】
git reset --hard [局部索引值]
git reset --hard 0e2298b #后退
git reset --hard 4dc987c #前进
使用^符号:只能后退
git reset --hard HEAD^ #往后退一步
#注:一个^表示后退一步,n个表示后退n步
使用~符号:只能后退
git reset --hard HEAD~N #往后n步
4.3.6 命令的三个参数对比
--soft 参数
仅仅在本地库移动HEAD指针
rm aaa.txtgit statusgit commit -m "new aaa.txt" aaa.txtrm aaa.txtgit add aaa.txtgit commit -m "delete aaa.txt" aaa.txtgit refloggit reset --hard 26b6196
添加到暂存区的删除文件的找回
4.3.8 比较文件的差异—git diff [文件名]
git diff [文件名] #将工作区中的文件和暂存区进行比较git diff [本地库中历史版本] [文件名] #将工作区中的文件和本地库历史记录进行比较#不带文件名比较多个文件
4.4 分支管理
4.4.1 什么是分支?
在版本控制过程中,使用多条线同时推荐多个任务。
4.4.2 分支的好处?
4.4.3 分支操作
创建分支——git branch [分支名称]
查看分支——git branch -v
切换分支——git checkout [分支名称]
合并分支——git merge [分支名称]
第一步:切换到接收修改的分支(杯合并,增加新内容)上
git checkout [分支名]
第二步:执行merge命令
git merge [有新内容分支名]
①不管输入数据的数据量有多大,输入同一个哈希算法,得到的加密结果长度固定。
②哈希算法确定,输入数据确定,输出数据能够保证不变
③哈希算法确定,输入数据有变化,输出数据。 定有变化,而且通常变化很大I
④哈希算法不可逆
Git底层采用的是SHA-1算法。
哈希算法可以被用来验证文件。原理如下图所示:
5.2 版本保存机制
5.2.1 集中式版本控制工具的文件管理机制
以文件变更列表的方式存储信息。这类系统将它们保存的信息看作是一-组基本文件和每个文件随时间逐步累积的差异。
5.2.2 Git的文件管理机制
Git把数据看作是小型文件系统的一组快照。每次提交更新时Git都会对当前的全部文件制作一个快照 并保存这个快照的索引。为了高效,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。所以Git的工作方式可以称之为快照流。
5.2.3 Git文件管理机制细节
Git的"提交对象"
提交对象及其父对象形成的链条
5.3 Git分支管理机制
5.3.1 分支的创建
5.3.2 分支的切换
之后进入git Bash
git remote -v #查看别名git remote add origin https://gitee.com/z6135/test.git #将地址赋给origin
6.3 推送—git push
git push origin master
这就推送成功了!
6.4 克隆—git clone
完整的把远程库下载到本地
创建origin远程地址别名
初始化本地库
6.5 邀请别人加入团队
git merge origin/master cat test.txt
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-guShYixa-1632892472422)(../AppData/Roaming/Typora/typora-user-images/image-20210927215821918.png)]
6.7 解决冲突
如果不是基于Gitee远程库的最新版本所做的修改,不能推送,必须先拉取。
拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。
债权人:老刘
债务人:小张
6.8 跨团队协作操作
厂长写博客目的初衷很简单,希望大家在学习的过程中少走弯路,多学一些东西,对自己有帮助的留下你的赞赞👍或者关注➕都是对我最大的支持,你的关注和点赞给厂长每天更文的动力。