今天在把項目push到GitHub時把
node_modules
給傳上去了,因爲是新倉庫,配置時忘記把node_modules
加到.gitignore裏面去了。錯已鑄就,老老實實給刪掉吧。。。html
-> cd reponame #進入本地克隆下來的倉庫文件夾
-> git pull origin master #拉取GitHub上的項目文件
-> git rm -r --cached node_modules #刪除之
# git rm file # 刪除文件
複製代碼
⚠️注意:這裏只會刪除GitHub倉庫上的node_modules
,並不會刪除本地文件夾裏的。node
若是報fatal: pathspec 'node_modules' did not match any files
這個錯誤,你得看一下是否是文件夾名字輸錯了或者是你進錯倉庫了。。git
-> git commit -m 'modify: Delete node_modules' #提交備註
-> git push -u origin master #push上去才完事兒,要注意
複製代碼
完事了,看一下有沒有刪除成功。github
有了刪除文件,也記一下上傳文件吧shell
-> cd dirname #dirname是要項目下要上傳的文件夾名稱
-> git init
-> git add -A #git add filename.file
-> git commit -m 'modify: Update dirname'
複製代碼
Git中文件的狀態有兩種,已跟蹤(tracked)和未跟蹤(untracked),已跟蹤就是這個文件已經歸入版本控制。bash
對於修改(modify)的文件,因爲它以前已被提交,上次的修改內容被記錄了,因此它在已跟蹤(tracked)狀態。而對於新增的文件,它處於未跟蹤狀態,此時就須要將其歸入已跟蹤狀態,git add -A
會把文件夾下全部文件歸入已跟蹤狀態,將單個文件歸入跟蹤狀態需使用git add filename.file
。ui
-> git push -f git@github.com:USERNAME/REPONAME.git master
複製代碼
另外別忘了push,push完了才完事。spa
git commit -m
與git commit -am
的區別,還有用了-am
還要不要使用git add
命令?看大佬文章。。版本控制
文章已發佈至個人博客,原文在此code