git reset 三个参数
![Snipaste_20220526_172911.jpg Snipaste_20220526_172911.jpg](https://kedong.me/static/images/article/202205260929369-11.jpg)
本文建议使用 Sourcetree 工具,工欲善其事,必先利其器。
git reset --soft [HEAD]
![Snipaste_20220526_153943.jpg Snipaste_20220526_153943.jpg](https://kedong.me/static/images/article/202205260758359-43.jpg)
![Snipaste_20220526_154018.jpg Snipaste_20220526_154018.jpg](https://kedong.me/static/images/article/202205260758250-18.jpg)
这里创建了5个文件,分次提交。然后我们试试将他软重置到first commit版本。
![Snipaste_20220526_160455.jpg Snipaste_20220526_160455.jpg](https://kedong.me/static/images/article/202205260805594-55.jpg)
此时5个文件都会回到你的暂存
![Snipaste_20220526_161043.jpg Snipaste_20220526_161043.jpg](https://kedong.me/static/images/article/202205260812460-43.jpg)
![Snipaste_20220526_161052.jpg Snipaste_20220526_161052.jpg](https://kedong.me/static/images/article/202205260812330-52.jpg)
那么这个相当于可以用撤回你的提交。有bug要修改就可以撤回。
接下来重新试试把文件修改一下,然后在重置版本会如何处理,这里把5.txt文件修改下,不提交,然后重置到3,
![Snipaste_20220526_163057.jpg Snipaste_20220526_163057.jpg](https://kedong.me/static/images/article/202205260832350-57.jpg)
![Snipaste_20220526_163313.jpg Snipaste_20220526_163313.jpg](https://kedong.me/static/images/article/202205260833293-13.jpg)
很显然,因为回退到的是已暂存,所以无冲突。
那么再试试把5.txt文件改动暂存后看是否有冲突。
![Snipaste_20220526_163853.jpg Snipaste_20220526_163853.jpg](https://kedong.me/static/images/article/202205260839048-53.jpg)
同样重置到3。
![Snipaste_20220526_164124.jpg Snipaste_20220526_164124.jpg](https://kedong.me/static/images/article/202205260841351-24.jpg)
此时5是你提交的最新状态那个文件
总结就是重置后后提交的内容回到暂存文件里,有改动的文件是最新的文件。
git reset --mixed
![Snipaste_20220526_161919.jpg Snipaste_20220526_161919.jpg](https://kedong.me/static/images/article/202205260822149-19.jpg)
![Snipaste_20220526_162048.jpg Snipaste_20220526_162048.jpg](https://kedong.me/static/images/article/202205260821320-48.jpg)
总结前几次提交文件就会将回退的代码放在未暂存(工作区)里,有改动的文件依旧为工作区最新的更改。
git reset --hard
![Snipaste_20220526_170042.jpg Snipaste_20220526_170042.jpg](https://kedong.me/static/images/article/202205260901330-42.jpg)
这里我工作区有文件,暂存区有改动。执行后就会被全清空
总结这个模式比较暴力,就是把工作区和暂存区全清空回到指定的提交版本,慎用。
(完)
0条看法
最新最后最热
等待你的评论