刪除本地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 源碼目錄
留下的就是乾淨的不受版本控制的文件了,如果你有未提交的更改,還會提示你必須先提交才能刪除~

注:本文轉自珠海漁郎的日誌,特此說明。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章