git checkout -- filename 将工作区的修改后的文件回退到上一个工作区文件版本状态(即该文件没修改前),一般我们觉得对文件所做的修改为无用操作时,想撤销回到修改前可使用此操作
git reset HEAD filename 将缓存区某文件回退到上一缓存版本,该操作对工作区没有影响(暂存区)
git reset --hard HEAD filename 带上--hard参数后则是将暂存区和工作区的文件强行回退(暂存区+工作区)
git reset --mixed HEAD filename 带上--hard参数后则是将版本库和暂存区的文件强行回退(版本库+暂存区)
git reset --soft HEAD filename 带上--hard参数后则是将版本库的文件强行回退(版本库)
git reset 版本号(版本表示) 将缓存区回退到特定版本,不影响工作区文件
git commit --amend 撤销上一次提交,并将暂存区(缓存区)文件重新提交
git checkout --filename 拉取暂存区的文件,并将其替换工作区的文件(也即是回退到工作区上一版本(即暂存区目前版本)),注意该命令和 git checkout branchname 命令的区别,后者是切换到其他分支
git reset HEAD --filename 拉取最近一次提交的版本库中的文件到暂存区,该操作不影响工作区
如果想将版本库的文件拉取到工作区,需先将版本库文件拉倒暂存区,再从暂存区拉取到工作区,即git reset HEAD --filename,git checkout --filename两条命令依次执行
git文件删除
git rm filename 删除工作区及暂存区中的文件,相当于删除文件后执行git add,即等效 rm filename,git add
git rm --cached filename 在不小心将不需要追踪的文件添加到暂存区后,想删除暂存的文件但是不想删除工作区的文件(即仅仅只删除暂存区的文件)---》适用应用场景 .gitignore git远程仓库
git rm -f filename 当工作区或者暂存区文件修改了,防止把修改文件误删除
git mv filename 相当于 1.mv oldname newname 2.git rm oldname 3.git add newname 即将工作区文件改名,将新文件添加到暂存区,并删除暂存区的老文件