ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git常用命令(3)---版本修改

2021-09-08 11:01:27  阅读:110  来源: 互联网

标签:文件 HEAD git 提交 删除 --- Git 版本 常用命令


Git版本修改

git版本日志

我们已经对文件做了二次修改 也就是说文件具有两个版本。
git支持我们对历史版本记录进行查看。

git log

在这里插入图片描述
Ps:

• git记录了每个文件的提交代码 提交人 提交日期以及提交文件时的备注

• 注意到提交代码后有HEAD->master

• 很敏感可以联想到指针

• HEAD(头指针)是git用来追踪标记git文件状态的指针

• 也就是说再上一次我们二次修改文件后HEAD又重新标记在了master

• 对于工作区 暂存区 版本库三者而言 其实都是用HEAD来标记的

• HEAD指向当前文件所处的文件状态

– git log --pretty=oneline (git log的简洁版 没有先后标注)
在这里插入图片描述
– git reflog(git log简洁版 有先后标注)
在这里插入图片描述
Ps:

• 可以看到对比方式2,日志中多出了HEAD@{0|1}的标记
• 我们知道gitDemo是我们第一次添加时候的备注
• 而HEAD@{1}应该就是标记提交的前后顺序
• 可以发现第二次提交的HEAD是0
• 我首先想到的是栈 第一次的提交状态入栈为0
• 第二次的提交状态入栈为0 第一次为1
• 之后我又提交了一次 发现确实是这样 出现了012 的顺序
• 至于是不是栈的方式储存 我这里没有专门去查

版本回退

知道了历史版本之后 可以根据版本号来回退到之前的版本。
情景:对于已经提交的版本,突然感觉有问题想回退到上一次的版本。

‘’‘cmd
git reflog
git reset --hard version_code
‘’’
在这里插入图片描述
Ps:
• 版本号很长 我们取前面一部分就可以 后面git会为我们补全
git reset --hard HEAD"^" :返回上一次版本
在这里插入图片描述
Ps:
• 注意到HEAD是git的头指针后面跟了“^”
•^代表上一次 因为windows会把^当作转义符 类似/t/n等
• 所以这边用引号括起来 或者 可以直接用~1|2|3 代表回退版本
• 另外 这里再一次说明 git使用HEAD头指针的移动来控制版本的 并不是文件本身恢复与删除 它记录的只是文件每次版本做过的修改。
• 如果此时又后悔返回了 可以根据日志版本号回到最新

撤销修改

撤销对工作区的修改 git check – file.后缀名
撤销对暂存区的修改 git reset HEAD file.后缀名

删除文件

已经提交到本地仓库的文件 删除分两种情况:
–1 确认删除
确认删除就是把本地文件删除后 提交删除命令 将仓库内记录也删除
git rm file.txt
git commit -m"remove file
在这里插入图片描述
如果之前把文件push远程仓库的话 把这个删除的commit也push到远程即可删除远程仓库文件。

– 2 删错了

git checkout – file.后缀名 因为删除文件其实是工作区域的修改 所以撤销修改即可。

标签:文件,HEAD,git,提交,删除,---,Git,版本,常用命令
来源: https://blog.csdn.net/weixin_44532859/article/details/120174630

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有