今天在把项目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