Git学习之路(二)
一、Git操作最基本流程
1、git init
创建文件目录,对工作目录进行修改;
2、git add ./
包含了生成git对象命令和把git对象放入缓存区;(将修改提交到缓存区)
3、git commit -m "注释内容"
包含了把缓存区对象生成树对象和生成提交对象 (将暂存区提交到版本库)
注意:对象都是先到版本库然后再到文件的缓存区,并不是先到缓存区然后到版本库;
二、Git高层命令之CRUD
git init
----------------------------------------------------初始化仓库
git status
--------------------------------------------------查看文件状态(跟踪,暂存,提交)
git diff
-----------------------------------------------------查看哪些修改还没有暂存
git diff --staged
-----------------------------------------查看哪些暂存了还没有提交
git add ./
--------------------------------------------------将修改添加到缓存区
git commit
-------------------------------------------------直接增加注释内容,进入vim界面
git commit -m "注释内容"
--------------------------------将缓存区的代码提交到版本库
git commit -a -m "注释内容"
----------------------------直接放入版本库,跳过版本库
git log --oneline
----------------------------------------查看提交的历史记录
git log --oneline --decorate --graph --all
--------查看所有的提交的历史记录
git rm 文件名
----------------------------------------------直接删除文件,跳过add和commit步骤
git mv 原文件名 新文件名
---------------------------------将工作目录中的文件重命名加入缓存区
三、Git高层命令之分支
git branch
-------------------------------------------------显示分支列表
git branch 分支名
-----------------------------------------创建分支
git checkout 分支名
--------------------------------------切换分支
git branch -D 分支名
-------------------------------------强制删除分支
git branch -v
---------------------------------------------查看每个分支最后的操作
git branch name commitHash
-----------------------------新建分支并且指向对应对象
git checkout -b test
-------------------------------------新建分支并且切换上去
git config --global alias.自定义名字 原有命令
--------修改命令名字
git merge 分支名
-------------------------------------------合并分支
git stash list
---------------------------------------------Git储存命令(工作目录不想到暂存)
git stash drop stash@{0}
---------------------------------删除栈顶元素
注意事项:
1、分支污染:切换分支的时候,并没有将当前操作的内容git add./
,会导致将没有标记的文件传送到另外的分支;
2、创建分支的时候,head
必须回到最底层的分支,然后才进行分支的合并,删除;
3、合并分支时,发生了合并冲突的时候,需要打开文件修改相关代码,然后再合并;
4、分支就是一个可变文件,存放hash
值,也可理解为指向提交对象的指针;
四、后悔药
1、工作区撤回修改: git checkout 文件名
2、暂存区撤回修改:git reset HEAD 文件名
3、版本库撤回:git commit --amend
第一种情况注释出错:直接运用命令修改注释即可
第二种情况版本提交错误:先使用add命令然后再使用git commit -amend
命令进行提交(链表前移)
底层:所有的撤回本质上都是覆盖
五、标签
git reflog
-------------------------------------------------查看引用日志
git tag 标签名
--------------------------------------------设置标签
git tag
-----------------------------------------------------查看所有标签
git show 标签名
-------------------------------------------查看标签所在提交对象的信息
git tag -d 标签名
----------------------------------------指定标签删除
git checkout -b 标签名
----------------------------------跳转到标签位置,并创建标签
持续更新ing,如果看完对自己有帮助,请点赞支持,谢谢