前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git rm --cached 命令如何解决疑难杂症

git rm --cached 命令如何解决疑难杂症

作者头像
小闫同学啊
发布2020-02-19 11:36:00
6K0
发布2020-02-19 11:36:00
举报
文章被收录于专栏:小闫笔记小闫笔记

"

经历不是一句鸡汤。说教不过两片嘴唇的触碰,经历确是风雨里的打磨。不经我苦难,莫劝我向善。

—— 小闫同学

"

诡异之事年年有,只是今年有点多,在仓库上传到 GitHub 后,偶然在 GitHub 中瞄了一眼,我的天?这个图标不像文件夹啊?这个怎么点不开?git 上传正常啊?本地工作区和暂存区都是干净的了啊?更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

一、问题描述

本地仓库提交后,GitHub 中某文件夹无法正常点击,内容无法显示。

二、原因分析

经排查,定位到原因:之前仓库中包含了一个特殊的文件夹(此文件夹是另外一个 git 仓库),在执行下面语句时:

代码语言:javascript
复制
git add .

提示仓库中包含其他仓库,需要解决此问题。本人操作是删除掉此文件夹中的 .git 配置目录,然后依次执行以下命令:

代码语言:javascript
复制
git add .
git commit -m 'add the new file'
git push

顺利推送仓库到远程,过程中并无报错。这个过程或许是导致问题的原因。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

三、解决办法

现在问题是本地工作区与暂存区干净如新,远程仓库有问题。该如何解决?这时用到了一个命令:

代码语言:javascript
复制
git rm --cached <dir_name>

我们先来看一下手册:

代码语言:javascript
复制
usage: git rm [<options>] [--] <file>...

    -n, --dry-run         dry run
    -q, --quiet           do not list removed files
    --cached              only remove from the index
    -f, --force           override the up-to-date check
    -r                    allow recursive removal
    --ignore-unmatch      exit with a zero status even if nothing matched

可以看到 --cached 的作用:将文件仅仅从索引中移除,翻译成人能看懂的话便是 「之前已经提交,现在将此目录释放掉,恢复到工作区,未被追踪的状态,即 git add . 命令之前的状态」

我们执行完此命令之后使用如下命令查看所有改变后的文件状态:

代码语言:javascript
复制
git status

发现出问题的目录已经变成了红色未被追踪的状态,此时将出问题的目录中所有包含 git 信息的文件和目录都删除,然后再依次执行命令:

代码语言:javascript
复制
git add .
git commit -m 'add the new file'
git push

去远程仓库中查看后发现问题解决。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

四、总结

当出现未知问题致使远程仓库同预期结果不一致时,本地可以将问题目录恢复到未被追踪状态,核查完问题之后再次提交最新结果,操作步骤如下:

1.删除缓存,释放目录,恢复到未被追踪状态:

代码语言:javascript
复制
git rm --cached <dir_name>

2.依次执行如下操作再次提交:

代码语言:javascript
复制
git add .
git commit -m 'Information you need to submit'
git push

3.完美解决问题。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、问题描述
  • 二、原因分析
  • 三、解决办法
  • 四、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档