博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git reset与checkout异同点
阅读量:4186 次
发布时间:2019-05-26

本文共 761 字,大约阅读时间需要 2 分钟。

可以实现相同的功能,比如还原本地文件,但是reset更强调“撤销”,比如撤销暂存区、撤销暂存区和本地,而checkout更强调“替换”,比如用暂存区内容替换本地,用head指向目录替换暂存区和本地。

reset强调,撤销

git reset head - - filename 

撤销上次暂存(取消暂存区的内容,用head指向的目录(版本库)替换暂存区)
如果只删除暂存,保留工作区,可以使用git rm --cached -r filename,-r表示递归删除
git reset - -hard head: 
撤销本地和暂存区的所有变动(用head指向的目录(版本库)替换本地和暂存区)
git reset – hard origin/master 
撤销本地、暂存区、版本库(用远程服务器的origin/master替换本地、暂存区、版本库)

checkout强调,替换

git checkout [- -] filename 

- 用暂存区的内容替换工作区的文件。比如working directory修改了,但是想放弃这些修改,那么使用git checkout -- a.txt 放弃对a.txt的修改 
git checkout head filename 
- 用head指向的目录(版本库)替换暂存区和工作区的文件

head

git的命令中经常会用到head,可以将head看做一个指针,head指本地的版本库,可以将head替换为远程库,比如origin/master,origin代表一个地址,master是分支。

origin

- origin代表远程仓库的地址 ,在config文件中

原文:https://blog.csdn.net/wangjun5159/article/details/51397475 
 

你可能感兴趣的文章
右上三角矩阵的压缩(Python实现)
查看>>
Linux man 命令:查询命令使用手册
查看>>
CentOS配置静态ip
查看>>
Jinja2条件控制
查看>>
Linux /usr/src/kernels 缺失内核源码解决方案
查看>>
Git分支管理
查看>>
查看MySQL支持的字符集
查看>>
常见Linux目录
查看>>
在CLI中打印表格----gotable使用介绍
查看>>
Python str rjust方法
查看>>
CentOS7 安装MySQL
查看>>
Linux cd 命令 ----切换目录
查看>>
MySQL校对集
查看>>
左下三角矩阵压缩(Python)
查看>>
Go发送电子邮件
查看>>
Linux ls命令
查看>>
MySQL数据库操作
查看>>
Jinja2循环控制
查看>>
Python str replace()方法
查看>>
Git标签管理
查看>>