当前位置:   article > 正文

git删除、回退、忽略_git objects 清除

git objects 清除

1、如果还没 git add file

使用该指令进行撤销:  git checkout -- fileName  

只能清空全部已修改的问题件, 但是对于新建的文件和文件夹无法清空, 必须组合下面命令;

 $ git clean -d

2、如果已经git add file  , 但是没有 git commit -m "" 

撤销分两步操作:
 a、git reset HEAD readme.txt
 b、git  status
 c、git checkout -- file

从暂存区:

当我们使用 git add 命令添加工作区的文件到暂存区时,我们想要对这个暂存区里面的文件执行删除操作时,我们则使用 git rm --cached <file> 来修改暂存区目录(不修改工作区目录), git rm --cached <file> 相当于git add的一个逆过程。

示例:

a.使用 git status 命令 来查看 暂存区情况,可以看到这时暂存区是没有文件的。

b.当我们使用 git add命令往暂存区添加文件时,可以看到暂存区内容发生变化(新增加了 file.txt 文件)。

c.使用git rm --cached <file> 命令删除暂存区中的 file.txt 文件,可以看到暂存区中已经没有数据了。

所谓的暂存区仅仅是.git目录下的一个index文件罢了,这也是为了什么被称为index(索引)

当删除暂存区内容的时候,其实就是删除index文件中的内容,.git/objects目录中的内容不会被删除。

清空暂存区指令:rm .git/index 直接删除该文件夹即

3、如果已经git add file 并且已经 git commit ,那么回退版本办法是:
 a、通过 git log 或者 git log --pretty=oneline 、git reflog
 b、找到对应的commit id进行回退:git reset --hard 1094a

git
原理: git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本,如下图所示,假设我们要回退到版本。适用场景: 如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。

 

 具体操作:
1. 查看版本号:
可以使用命令“git log”查看,也可以在github网站上查看:

è¿éåå¾çæè¿°

 

2. 使用“git reset --hard 目标版本号”命令将版本回退:

è¿éåå¾çæè¿°

再用“git log”查看版本信息,此时本地的HEAD已经指向之前的版本:

 

此时如果用“git push”会报错,因为我们本地库HEAD指向的版本比远程库的要旧:

è¿éåå¾çæè¿°

 

所以我们要用“git push -f”强制推上去,就可以了:

è¿éåå¾çæè¿°

在github图形化界面上看,远程库的HEAD也已经指向目标版本:

è¿éåå¾çæè¿°

.ignore

其实.gitignore文件只会忽略那些没有被跟踪的文件, 也就是说ignore规则只对那些在规则建立之后被新创建的新文件生效. 因此推荐: 初始化git项目时就创建.gitignore文件. du -sh *

在初始化git仓库的时候没有创建.gitignore文件来过滤不必要提交的文件, 后来却发现某些文件不需要提交, 但是这些文件已经被提交了, 这时候创建.gitignore文件忽略这些文件时, 发现ignore的规则对那些已经被track的文件无效.

————————————————
版权声明:本文为CSDN博主「慕城南风」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lovedingd/article/details/115011687

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号