git的版本管理非常强大,不需要远程仓库也可以实现版本管理。刚好我在学习项目的时候,希望能通过git能记录每次阶段性学习的内容,但是又没有搭建远程仓库。直入主题,请看实例;
1.在项目的根目录执行
git init
2.把所有文件添加到版本管理中
git add .
3.提交到git仓库中。
git commit -m "first commit"
本地启用版本管理啦。搭配idea的git控制台,可以很清楚的看到每次的提交了
但是,我们把node_modules 也加入了版本控制里,这是第三方依赖库,我不想把它加入管理,每次改动都去提交它没有意义。所以我们接下来我们增加.gitignore排除掉 node_modules。
4.在项目根目录下新建 .gitignore文件
并且在文件中配置 node_modules 不使用版本控制
5. gitignore作为我们自己的项目配置,要把它添加到git仓库管理
git add .gitignore
git commit -m "添加.gitignore"
此时我们去改动第三方依赖,然后一提交。不对啊,还是会提交 node_modules 了啊。这是因为我一开始把所有的文件都添加到了管理中,git的管理中,如果文件已经提交到仓库里了,那么它就会启用管理。所以重点是仓库中已经存在了 node_modules文件,该如何移除git中启用版本控制的内容
6.移除git已启用版本控制的内容
git rm -r --cached node_modules
git commit -m "移除 node_modules 的版本控制"
其实我们一开始就不应该把node_modules提交到仓库中去,我们在第一次commit的时候先新增.gitignore文件,然后再commit就可以了。