【Git】刪除GitHub中的某個文件夾以及Git經常使用命令

今天在把項目push到GitHub時把node_modules給傳上去了,因爲是新倉庫,配置時忘記把node_modules加到.gitignore裏面去了。錯已鑄就,老老實實給刪掉吧。。。html

1、刪除文件夾

-> 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

2、上傳文件

有了刪除文件,也記一下上傳文件吧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.fileui

-> git push -f git@github.com:USERNAME/REPONAME.git master
複製代碼

另外別忘了push,push完了才完事。spa

git commit -mgit commit -am的區別,還有用了-am還要不要使用git add命令?看大佬文章。。版本控制

文章已發佈至個人博客,原文在此code

相關文章
相關標籤/搜索