git按需过滤提交文件的一个细节

问题场景

用git管理代码时,做为git小白的我总会遇到一些没法理解的问题,在请教了一些高手后终于解开了疑惑,参考如下场景: 
1.好比咱们已在电脑1上完成用vs编辑项目、添加、提交到服务器的完整流程,以下图1 
 
git

图1 正常代码提交流程


2.git status命令查看未提交项,则会显示没有可提交项; 
sql

  

3.再次用vs编辑器打开项目,能够无任何操做; 
4.再次使用git status命令查看未提交项,以下图 
 
服务器

从上图能够看到即便你没有作任何操做,也会有不少未被提交的文件被提示出来,若是有时由于咱们疏忽的觉得文件没有变化(其实在打开工程的那一刻后台文件已发生了变化),关电脑而后在其余电脑(电脑2)上编辑本工程,再按图1的流程将代码提交。再到电脑1上git pull时,就会出现还有本地文件未被add的问题。微信

解决问题

要解决此问题,须要在.gitignore文件中添加一些须要屏蔽的一些编辑器后台操做后的文件类型或名称,使无心中打开工程浏览代码后无反作用。 
若是咱们在上传第一个代码版本时没有屏蔽如.suo、.ide之类的文件,即便后面将这些文件类型添加到.gitignore,使用git status命令始终会一直出现未提交关于这些文件的更改,以下图。 
 
编辑器

要解决此问题,首先要将.suo或.ide文件类型加入到.gitignore文件,而后使用git rm -r --cached filename删除服务器上这两类文件。 
 
ide

这样再次使用git status命令查看未提交文件时,就会只显示你编辑过的文件,编译器后台操做的文件就不会再提示了。spa

屏蔽.ide文件之[为何删除ide文件时提示没有匹配到文件呢?]

首先考虑如下示例: 
 
sqlite

这是路径问题: 
blog

ide文件都在RealEstate目录下了,路径要改为最后框选的那个。 
删除命令以下: 
git rm -r --cached /i/mypros/RealEstate/.vs/RealEstate/v16/Server/sqlite3/storage.ide
 
编译器

这样就能够删除成功了。

 

以上为我的的一些心得,若有总结的错误请谅解并指出错误或更好的解决办法。

想要了解更多,请关注我的微信公众号  夜无澜。

相关文章
相关标签/搜索