您的位置:首页 > 本地本地
Git移除暂存区(index)文件
admin2024-05-31人已围观
一、Git移除暂存区(index)文件
例如,移除readme.txt
这个操作相皮物液当于将文件从Git和磁盘删除。
同样还是readme.txt文件,我们不想跟踪它,但是不小心用git add将它添加进了暂存区,此时可以使用下面的命令:
这将会使readme.txt文件变为untracked状态(无论它是否被提交过),但它仍在工作目录中(即不会从磁盘删除)。
使用这个命令移除暂存区的文件,要求这个文件必须是新增的,没有被提交过,这个命令不能对从仓库拉取的文件生效。
这个命令有2个作用:
1、当一个文件从没有被git跟踪过,首次add进入暂存区时,使用这个命令可以将这个文件移除暂存区。
2、如果是刚刚燃物pull的仓库下的蚂激文件或者一个已经commit的文件,使用这个命令可以丢弃对这个文件的修改。
二、gitlab删除远端or本地某个文件
删除本地分支
git branch -d 会在删除前检查merge状态(其与上游分支或者head)。
git branch -D 分支名 是 git branch --delete --force 的简写,它伍局冲会直腔歼接删除。
删除远程分支 git push origin –delete 分支名
删除暂存区: git rm --cached 文件名 (--cached 表示只删除缓存区中腊燃的内容)
三、git删除历史记录缩小存储
pyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
[Git]删除git文件历史记录 原创
14:40:04
1点赞
加拉萨假期
码龄6年
关注
不小心把不想加入git的文件提交到了git仓库中,执行如下步骤,即可将指定文件从git的历史记录中永久举悄旦删除。
操作具有危险性,请自行将原仓库压缩备份,以防万一。
1、筛选感兴趣的文件,并将其从git历史记录缓存中删除。我这里是把历史中的所有.xz压缩文件给删了。如果正扰你的目标是个目录,那么需要在git rm --cached 后面加个 -r,懂的都懂。
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.xz' --prune-empty --tag-name-filter cat -- --all
2、删除git历史文件备份。
rm -rf .git/refs/original/
3、设置git历史记录的过期时间为此刻,这样放弃了所有历史的找回功能。
git reflog expire --expire=now --all
4、该删的都删完了,清空悬空对象。以下两条命令可以选一个执行,加了--aggressive之后,会更深度的进行垃圾回收,但是需要花费更多的cpu资源(又何妨?又不是天天执行。)
git gc --prune=now
git gc --aggressive --prune=now
5、最后更新远端仓库。至此,所有运渗的*.xz文件就从历史中永远消失了。。。
git push origin --force --all
四、修改.gitignore后,git冲突解决
首先贴一下我们项目里面的 .gitignore 文件内容:
在git 使用过程中,我们更新.gitignore文件,贺橘腊再提交的时候会发生冲突,使用以下git 命令可删除缓存伍毕,进行更新。禅滑
很赞哦! ()
上一篇:谁知道阳春市哪些建筑公司招人?'>谈谈自媒体、新媒体和融媒体
下一篇:返回列表'>返回列表