git忽略提交特定文件(.idea/workspace.xml)

参考链接:https://www.cnblogs.com/lizexiong/p/16444830.html

1.背景

  在用git拉取代码时或者提交代码时,在提交时出现modified: .idea/workspace.xml 或拉取代码时出现本地.idea/workspace.xml已修改,需要解决冲突,非常让人烦恼.

  提交时报错图片

  

  拉取时报错图片

  

 

2.问题原因

  原因在于 Git 的忽略,Git 在同步代码时,设置本地忽略文件。前提是必须保证 Git 的远程端仓库中没有这个要忽略的文件。当远端包含有该文件时,本地设置的 ignore 将不再发挥作用。.idea这个文件夹是多数ide记录修改的一个文件,没事就会乱改,所以可以忽略,不然每次提交或者拉取代码就很麻烦,就会有上图中的报错。

 

3.解决办法

  在本地的.gitignore文件里面添加上 .idea/workspace.xml 文件。直接创建代码库根目录下就行,或者忽略idea整个文件夹也行,但是这里本人还是只忽略了workspace.xml。可以自己选择。

  

  如果已经将本地的文件提交到了远端,那么需要将远端提交的文件给删掉,删除指令为:

  git rm -r --cached .idea/workspace.xml

  这里解释一下上面命令的使用方式:

  git rm : 同时从工作区和索引中删除文件。即本地的文件也被删除了。

  git rm --cached : 从索引中删除文件。但是本地文件还存在, 只是不希望这个文件被版本控制。  

  

  (有想深入了解git工作区、暂存区的可以参考https://www.cnblogs.com/lizexiong/p/15595181.html)

  可以使用git status指令来查看删掉的文件,基本上都是 ***.xml 文件。这里就删除了一个,就是workspace.xml

  

 

4.总结

  如果不想一不注意的就提示workspace.xml冲突的问题,那么在本地的.gitignore文件里面添加上.idea/workspace.xml 文件。直接创建代码库根目录下就行,或者忽略idea整个文件夹也行。

  或者直接执行git rm -r --cached .idea/workspace.xml这样的命令,直接不用版本控制这些文件也可以。

posted @ 2023-01-05 18:55  `'手可摘星辰  阅读(2123)  评论(0编辑  收藏  举报