| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> GIT底层解析知识点总结 -> 正文阅读 |
|
[开发工具]GIT底层解析知识点总结 |
目录 Git checkout和git reset?--hard区别 Git存储git stash命令Git stash 命令会将一个未完成的修改保存到一个栈上,而你可以再任何时候重新应用这些改动(git stash apply) git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容。
git stash应用场景
Git后悔药工作区如何撤回自己在工作目录中的修改:git checkout --fileName 暂存区如何撤回自己在暂存区:git reset HEAD filename 版本库如何重新提交自己的备注: git? commit -amend 如何重新提交自己的代码:出现一红一绿时,需要先git? add 再git commit GitLoggit reflog: 主要是HEAD有变化,那么git reflog就会记录下来 Reset三部曲(commithash)? ? ? ? 移动HEAD? ? ? ? Reset做的第一件事就是移动HEAD的指向。 ????????假设我们再次修改了file.txt 文件并第三次提交它,现在的历史看起来是这样: ???????????????? ????????????????git reset --soft HEAD~?
????????????????这与改变HEAD自身不同(checkout 所做的);reset移动HEAD指向的分支。 ?????????????????? ? ? ? ????? ?????????????? ? ??? ? ? ? ????????????????只动HEAD(带着分支一起移动),暂存区(Index)不会更新。 ?更新暂存区(索引)?????????????????? ? ? ? ????????????????????????注意 git reset HEAD~等同于git reset --mixed HEAD~
????????????????????????动了HEAD(带着分支一起移动) ????????????????????????动了暂存区(Index) 更新工作目录????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? ? 动了HEAD(带着分支一起移动) ? ? ? ? ? ? ? ? ? ? ? ? ? 动了暂存区(Index) ? ? ? ? ? ? ? ? ? ? ? ? ? 动了工作目录(Working Directory) Reset三种模式区别和使用场景区别:
使用场景:
Reset注意事项:必须注意,--hard标记是reset命令唯一的危险用法,它也是Git会真正地销毁数据的仅有的几个操作之一。其他任何形式的reset调用都可以轻松撤销,但是--hard选项不能,因为它强制覆盖了工作目录中的文件。再这种特殊情况下,我们的Git数据库中的一个提交内还留有该文件的V3版本,我们可以通过reflog来找回它。若该文件还未提交,Git仍会覆盖它从而导致无法恢复。 Git checkout和git reset?--hard区别
Git tag标签? ? ? ? Git可以给历史中的某一个提交打上标签,以示重要。比较有代表性的是人们会使用这个功能来标记发布节点(V1.0等等) tag的简单使用1.创建tag:创建tag是基于本地分支的commit,而且与分支的推送是两回事,就是说分支已经推送到远程了,但是你的tag并没有,如果把tag推送到远程分支上,需要另外执行tag的推送命令。
以上是基于本地当前分支的最后的一个commit 创建的 tag ,但是如果不想以最后一个,只想以某一个特定的提交为tag ,也是可以的,只要你知道commit 的id。
2.查看标签
3.删除标签
4.检出标签git checkout -b <branchName> <tagName> 因为 tag 本身指向的就是一个 commit,所以和根据commit id 检出分支是一个道理。 5.其他命令
以上内容,如果哪里有问题,及时私信或者评论说明,谢谢!! 您的点赞动力,就是作者出更多好的作品的动力!!!! 作者:筱白爱学习!!! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:21:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |