git clean和git reset结合用法
git clean命令用來從你的工作目錄中刪除所有沒有tracked過的文件
git clean經(jīng)常和git reset --hard一起結(jié)合使用. 記住reset只影響被track過的文件, 所以需要clean來刪除沒有track過的文件. 結(jié)合使用這兩個(gè)命令能讓你的工作目錄完全回到一個(gè)指定的<commit>的狀態(tài)
用法
git clean -n
是一次clean的演習(xí), 告訴你哪些文件會(huì)被刪除. 記住他不會(huì)真正的刪除文件, 只是一個(gè)提醒
git clean -f
刪除當(dāng)前目錄下所有沒有track過的文件. 他不會(huì)刪除.gitignore文件里面指定的文件夾和文件, 不管這些文件有沒有被track過
git clean -f <path>
刪除指定路徑下的沒有被track過的文件
git clean -df
刪除當(dāng)前目錄下沒有被track過的文件和文件夾
git clean -xf
刪除當(dāng)前目錄下所有沒有track過的文件. 不管他是否是.gitignore文件里面指定的文件夾和文件
git reset --hard和git clean -f是一對(duì)好基友. 結(jié)合使用他們能讓你的工作目錄完全回退到最近一次commit的時(shí)候
git clean對(duì)于剛編譯過的項(xiàng)目也非常有用. 如, 他能輕易刪除掉編譯后生成的.o和.exe等文件. 這個(gè)在打包要發(fā)布一個(gè)release的時(shí)候非常有用
下面的例子要?jiǎng)h除所有工作目錄下面的修改, 包括新添加的文件. 假設(shè)你已經(jīng)提交了一些快照了, 而且做了一些新的開發(fā)
git reset --hard
git clean -df
如果發(fā)現(xiàn)還有一些新目錄存在,用rm -rf 刪除,checkout 到指定日志目錄ID
運(yùn)行后, 工作目錄和緩存區(qū)回到最近一次commit時(shí)候一摸一樣的狀態(tài),git status會(huì)告訴你這是一個(gè)干凈的工作目錄, 又是一個(gè)新的開始了!
總結(jié)
以上是生活随笔為你收集整理的git clean和git reset结合用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker desktop使用入门
- 下一篇: Docker的安装和版本详细介绍