# 【Git】删除GitHub中的某个文件夹以及Git常用命令
今天在把项目push到GitHub时把
node_modules
给传上去了,由于是新仓库,配置时忘记把node_modules
加到.gitignore里面去了。错已铸就,老老实实给删掉吧。。。
# 一、删除文件夹
-> cd reponame #进入本地克隆下来的仓库文件夹
-> git pull origin master #拉取GitHub上的项目文件
-> git rm -r --cached node_modules #删除之
# git rm file # 删除文件
1
2
3
4
2
3
4
WARNING
⚠️注意:这里只会删除GitHub仓库上的node_modules
,并不会删除本地文件夹里的。
如果报fatal: pathspec 'node_modules' did not match any files
这个错误,你得看一下是不是文件夹名字输错了或者是你进错仓库了。。
-> git commit -m 'modify: Delete node_modules' #提交备注
-> git push -u origin master #push上去才完事儿,要注意
1
2
2
完事了,看一下有没有删除成功。
# 二、上传文件
有了删除文件,也记一下上传文件吧
-> cd dirname #dirname是要项目下要上传的文件夹名称
-> git init
-> git add -A #git add filename.file
-> git commit -m 'modify: Update dirname'
1
2
3
4
5
2
3
4
5
Git中文件的状态有两种,已跟踪(tracked)和未跟踪(untracked),已跟踪就是这个文件已经纳入版本控制。
对于修改(modify)的文件,由于它之前已被提交,上次的修改内容被记录了,所以它在已跟踪(tracked)状态。而对于新增的文件,它处于未跟踪状态,此时就需要将其纳入已跟踪状态,git add -A
会把文件夹下所有文件纳入已跟踪状态,将单个文件纳入跟踪状态需使用git add filename.file
。
-> git push -f git@github.com:USERNAME/REPONAME.git master
1
另外别忘了push,push完了才完事。
git commit -m
与git commit -am
的区别,还有用了-am
还要不要使用git add
命令?看大佬文章 (opens new window)。。