首页  编辑  

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

Tags: /计算机文档/版本控制Git和SVN/   Date Created:
某些情况下,我们可能想得到一个干净的目录,比如说,我的源代码已经全部提交到服务器的版本库中了,本地的源代码我想删除掉,但是可能源码目录下有一些我们自己的配置、数据等文件,这些文件又不是受版本控制的,如果整个源码目录删除的话,这些文件也会一起删除了!
如果要本地硬盘中, 某个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 源码目录
留下的就是干净的不受版本控制的文件了,如果你有未提交的更改,还会提示你必须先提交才能删除~