github项目中,经常大家更新、添加都非常熟悉,但是如果想要删掉一个文件夹,很多人就不知道怎么操作了。
网上查了一些方法,大部分都是删除仓库重新上传,这样肯定是不行的,首先不说任务量大,而且删除仓库的同时以前的贡献也会消失,这对很多人来说是不可行的。
那么,意识到问题的严重,我来教大家如何通过git命令删除远程仓库中的文件夹。我们以2016这个文件夹为例。
仓库文件删除前:
仓库文件删除后:
我们在github界面可以删除仓库,却无法删除文件夹,而且删除仓库会消失之前的贡献, 所以只能通过命令来解决。
克隆远程仓库到本地库。
例如使用ssh方法:
git clone git@github.com:xxx/xxx.git
在你的本地master文件夹中打开Git Bash Here ,进入命令窗口
$ git pull origin master # 将远程仓库中的项目拉取下来
$ dir -la # 查看文件夹及文件 使用 -la命令更直观显示
$ git rm -r --cached 2016 # 删除2016文件夹
$ git commit -m 'delete2016' # 提交并添加操作说明
$ git push -u origin master # 将本次更改更新到github项目上去
操作完成.
本地项目中的2016文件夹仍然存在,没有影响,只删除的是远程仓库中的2016文件夹, 可放心删除
-------------------------------------------------------------------------------------------------------------------------------------
补充:
有些人使用的是GitHub Desktop工具,平时的添加文件、文件夹、修改都很方便。
但是如果删除了本地的文件直接更新的话,会出现如下错误
Authentication failed. You may not have permission to access the repository or the repository may have been archived. Open options and verify that you're signed in with an account that has permission to access this repository.
他们会认为本地文件和仓库不匹配,这样我们无法同步到仓库。导致连接失败。所以此方法不可行。
但是我们试了上面的方法成功删除了仓库的文件夹,但是本地不会删除,打开GitHub Desktop后会有添加更新,如果想恢复删除,还可以很容易同步到仓库,是不是很方便呢。