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

Posted szllq2000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除本地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 源码目录
留下的就是干净的不受版本控制的文件了,如果你有未提交的更改,还会提示你必须先提交才能删除~

以上是关于删除本地git版本库中受版本控制的文件的主要内容,如果未能解决你的问题,请参考以下文章

版本控制工具之Git

Git学习创建版本库

Git的使用

git 忽略提交某个指定的文件(不从版本库中删除)

git命令

实习前必学技术之一版本控制工具Git