基本概念
我們先來(lái)理解下Git 工作區(qū)滋迈、暫存區(qū)和版本庫(kù)概念
- 工作區(qū):就是你正在編輯的目錄材义。
- 暫存區(qū):英文叫stage, 或index颖对。存放工作區(qū)未提交的改動(dòng)赏寇。一般存放在 ".git目錄下" 下的index文件(.git/index)中吉嫩,所以我們把暫存區(qū)有時(shí)也叫作索引(index)。
- 版本庫(kù):工作區(qū)有一個(gè)隱藏目錄.git嗅定,這個(gè)不算工作區(qū)自娩,而是Git的版本庫(kù)。
刪除暫存區(qū)文件
如果你錯(cuò)誤的添加了不想添加的文件到暫存區(qū)
git rm --cache 文件名
簡(jiǎn)單粗暴的方式渠退,刪除暫存區(qū)所有文件:
git rm -r --cached .
刪除暫存區(qū)文件并不會(huì)刪除工作區(qū)的文件忙迁,僅僅刪除了暫存區(qū)的快照而已
刪除文件
同時(shí)刪除工作區(qū)和暫存區(qū)的文件
git rm -f 文件名
刪除commit
使用git reset
命令
徹底將工作區(qū)、暫存區(qū)和版本庫(kù)記錄恢復(fù)到指定的版本庫(kù)碎乃。用來(lái)?xiàng)売弥暗陌姹尽?/p>
git reset --hard commitId
撤銷已提交的版本庫(kù)姊扔,不會(huì)修改暫存區(qū)和工作區(qū)。一般用來(lái)重新提交commit梅誓,重新編輯commit message
git reset --soft commitId
撤銷已提交的版本庫(kù)和暫存區(qū)恰梢,不會(huì)修改工作區(qū)
git reset --mixed commitId