第一點,我覺得也是最最重要的,就是明確git的三個區,工作區(working),暫存區(index),倉庫(repository)。
第二就是區與區之間的操作了。
working與index之間:
git add 從working新增到index。
git checkout -- <file> (新版本可用git restore <file>替換)從index同步到working,不管working新增了或者刪除了檔案,這個命令都可以讓working的這個操作被丟棄,是index的內容等於working的。
git rm <file> 從index到working都刪除這個檔案。
git rm --cached <file> 如果想僅刪除index裡的檔案可以用此命令,它不會刪除工作區中的檔案。
index與repository之間:
git commit 將檔案從index傳遞到repository。
git reset HEAD <file> 從repository重置到index。加了--hard就一路重置到working,且加不了<file>這個路徑了。