删除本地git版本库中受版本控制的文件

某些情况下,我们可能想得到一个干净的目录,比如说,我的源代码已经全部提交到服务器的版本库中了,本地的源代码我想删除掉,但是可能源码目录下有一些我们自己的配置、数据等文件,这些文件又不是受版本控制的,如果整个源码目录删除的话,这些文件也会一起删除了!

如果要本地硬盘中, 某个git源码目录下受版本控制(tracked files)的文件,留下未受版本控制的文件(untracker files),可以用以下指令:

git ls-files | xargs rm

运行上述指令后,手动删除 .git 目录,就可以得到一个干净未受版本控制的目录了。

上述指令有个缺点,就是空目录也会留下,没有删除,可以通过以下指令删除:

for /f "tokens=*" %a in (‘dir /b /ad /s 目录路径^|sort /r‘) do rd "%a" /q 2>nul

上述指令为Windows 批处理指令,Linux自己搞定吧。

其实有个最简单的方式可以做到:

就是用git delete指令删除源码库根目录即可!但是千万不要提交就行了,而且用这种方式后,原来的源码目录一定不能再用做源码控制,你必须重新开启一个新目录check源码。

对于svn就可以用这个指令:

svn delete 源码目录

留下的就是干净的不受版本控制的文件了,如果你有未提交的更改,还会提示你必须先提交才能删除~

时间: 2024-10-06 13:13:23

删除本地git版本库中受版本控制的文件的相关文章

【原创】Git删除暂存区或版本库中的文件

0 基础 我们知道Git有三大区(工作区.暂存区.版本库)以及几个状态(untracked.unstaged.uncommited),下面只是简述下Git的大概工作流程,详细的可以参见本博客的其他有关Git的文章[链接]. (1)打开你的项目文件夹,除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区,工作区的文件需要添加到Git的暂存区(git add),随后再提交到Git的版本库(git commit). (2)首次新建的文件都是untracked状态(未跟踪),此时需要git add

github在版本库中删除某个文件的所有历史记录

github的目的就是版本控制,记录每一个版本的变动.然而有的时候我们往往希望从版本库中彻底删除某个文件,不再显示在历史记录中.例如不小心上传了一堆错误的文件,或者不小心上传了帐号.密码,那么这个时候怎么办呢?下面的命令可以完美解决你的问题: 1 git filter-branch -f --tree-filter 'rm -rf vendor/gems' HEAD 2 git push origin --force

Git 工作区、版本库中的暂存区和版本库之间的关系

下图展示了 工作区.版本库中的暂存区和版本库之间的关系: 1. 理解 Git 暂存区 (stage) 在版本库 .git 目录下有一个 index 文件,下面针对这个文件做一个有趣的试验.要说明的是:这个试验用 1.7.3 版本的 Git 进行的,低版本的 Git 因为没有针对 git status 命令进行优化设计,需要运行 git diff 命令才能看到 index 文件的日期戳变化,具体操作步骤如下. (1) 首先执行 git checkout 命令(后面会介绍此命令),撤销工作区中 we

如何将本地项目上传到Git 版本库

1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点".",意为添加文件夹下的所有文件 git add . 3.用命令 git commit告诉Git,把文件提交到仓库.引号内为提交说明 git commit -m 'first commit' 4.关联到远程库 git remote add origin 你的远程库地址 如: git re

DICOM:开源DICOM书籍之“git版本库合并”

背景: 之前翻译的DICOM3.0标准是在本地创建的git仓库,并非在github上创建,此时别人是无法访问的,当初的目的是想待标准翻译初步完成后再提交到github上. 然而由于本地的翻译工作采用MarkDownPad进行编辑,文档中的图片需要有一个公网URL才能在文档中显示(注:马克飞象工具是可以直接将剪切板中的图像插入到MarkDown文档致中的,目前马克飞象已经出了Windows和IOS的客户端,下载),因此就在Github上创建了DICOM-Chinese的仓库,并在其中创建了Figu

萌新笔记——git的问题(error: object file .git/objects/* is empty...)的解决方案及对git版本库文件的了解

由于操作不当,导致git版本库出了大问题,如下所示: error: object file .git/objects/8b/61d0135d3195966b443f6c73fb68466264c68e is empty fatal: loose object 8b61d0135d3195966b443f6c73fb68466264c68e (stored in .git/objects/8b/61d0135d3195966b443f6c73fb68466264c68e) is corrupt 即

解决git提交敏感信息(回退git版本库到某一个commit)

解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提交版本的经历, 如何删除? 好像只有删除版本库来解决, 其实我们可以通过回退版本库删除相应的commit来将提交的敏感信息去掉. 备份本地代码 首先我们将本地代码的更改备份一下, 以防丢失更改 回退本地代码的commit 备份完数据, 我们就可以先回退本地的版本库 git reset --hard

GIT版本库回滚【图文版】

金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉.版本管理要贯彻到日常的开发学习中去.SVN转GIT用户.金天微信:15998603918 欢迎找我聊聊天. git 版本库回滚,在实际开发过程中总会遇得到 1. 先找出需要回滚的commitid git log -3 2. 重置本地版本库到指定commitid, 注意:本地改动将丢失 git reset --hard b034c3fe4e5823f71990e153d8a52b9ac871b5b7 3.

redmine整合GIT版本库

redmine整合GIT版本库 服务器的环境: Ubuntu 11.10 64位 Redmine 1.4.5.stable.10943 git version 1.7.5.4 + gitolite 前言:由于redmine的版本比较低,所以新版本的配置方法有可能有差异.请实践者留意. redmine和git的安装过程掠过. 由于redmine中GIT插件自身对文件读写权限的限制,所以一般有2种处理方式: 1)修改已经存在的GIT版本的文件读写权限:改为redmine运行用户可以访问: 2)将GI