您的位置:首页 > 其它

git rm/reset/checkout使用说明

2016-07-25 23:47 344 查看

一、git rm/checkout

当未在
.gitignore
文件中设置不需要跟踪的文件类型时,在使用
git add .
命令时,会把工程中所有未跟踪的文件添加到git索引中,如果此时意识到有些文件不需要commit时,可以把文件从索引中删除:

git rm --cached + 文件名


或者

git reset HEAD + 文件名


在索引中删除后,该文件在工作目录中依然存在。

注意:

1. 在未执行
git commit
前,若直接使用
git rm + 文件名
,则同时会把文件从索引和工作目录中删除,且工作目录中的文件无法恢复。

2. 在执行
git commit
后,若直接使用
git rm + 文件名
,虽然同时会把文件从索引和工作目录中删除,但是工作目录中的文件可以被恢复,可通过如下命令:

git checkout HEAD -- + 文件名


二、git reset

该命令的作用为
修改
git
本地提交历史

git reset选项的影响:

选项HEAD索引工作目录
–soft
–mixed
–hard
注:缺省时默认选项为–mixed。

例如:提交历史为A—>B,在本地修改代码后commit提交,则提交历史变为A—>B—>C,此时发现修改的代码有误,但是又改动了很多地方,不想一 一找了,此时有一个简单的方法把提交历史退回到B,使用如下命令即可:

git reset --hard B


此时,HEAD指针,索引,工作目录中的文件状态都会变成提交B时的状态,提交C的所有状态完全丢失。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git