博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git如何移除某文件夹的版本控制
阅读量:5856 次
发布时间:2019-06-19

本文共 988 字,大约阅读时间需要 3 分钟。

目录结构如下

project    bin    lib    src    ......

执行如下的操作

git add .git commit -m "add bin/ lib/ src/"git push origin master

 

突然发现原来 lib 目录不需要提交到版本库,但是现在远程已经存在该目录,what should I do.(吐出去的东西还能收回来吗)

万能的啊,help me!

功夫不负有心人,找到了解决问题的方法,其实就是  rm 的命令行参数。

git rm 命令参数

-n --dry-run Don’t actually remove any file(s). Instead, just show if they exist in the index and would otherwise be removed by the command. -r Allow recursive removal when a leading directory name is given. --cached Use this option to unstage and remove paths only from the index. Working tree files, whether modified or not, will be left alone.

解决方法

git rm -r -n --cached "bin/" //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。git rm -r --cached  "bin/"      //最终执行命令. git commit -m" remove bin folder all file out of control" //提交 git push origin master //提交到远程服务器

此时 git status 看到 bin/目录状态变为 untracked

可以修改 .gitignore 文件 添加 bin/ 并提交 .gitignore 文件到远程服务器,这样就可以不对bin目录进行版本管理了。

以后需要的时候,只需要注释 .gitignore 里 #bin/ 内容,重新执行 git bin/ ,即可重新纳入版本管理。

转载地址:http://qiojx.baihongyu.com/

你可能感兴趣的文章
Android Ant 批量多渠道打包实例
查看>>
Java并发的四种风味:Thread、Executor、ForkJoin和Actor
查看>>
2018年阿里巴巴开源的那些牛逼java项目汇总
查看>>
haproxy之一
查看>>
centos 邮箱报警
查看>>
Spring - @Autowired与@Resource
查看>>
正向代理和反向代理
查看>>
windows7关闭被占用的端口
查看>>
怎样降低rsync的io磁盘占用,如何减少rsync主服务器的io占用
查看>>
如何防止文件被备份到iCloud 和iTunes?
查看>>
CentOS6.5 Nginx搭建web服务器,实现平滑升级,虚拟主机及访问控制
查看>>
Logrotate使用
查看>>
“软”负载均衡学习点滴(三)
查看>>
spring利用javamail,quartz定时发送邮件
查看>>
[体感游戏]关于体感游戏的一些思考(七) --- “我是泰山,你是简?”
查看>>
2.K8S部署-------- 制作CA证书
查看>>
10步让你成为更优秀的程序员
查看>>
Getting Your Feet Wet with the SWT StyledText W...
查看>>
linux coredump配置及其调试出core文件
查看>>
EOF在linux和window系统中
查看>>