git移除不需要版本控制文件

本文介绍如何使用Git命令移除服务器上不需要版本控制的文件,包括编译信息、本地编辑器信息等,并详细解释如何通过.gitignore文件设置忽略规则,避免未来不必要的提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  有些时候我们往往会忘记添加git忽略文件(.gitignore),导致服务器上存在很多不需要版本控制或者根本无需保存到服务器上的文件,如编译信息、本地编辑器信息、可执行文件等。


移除不需版本控制文件

1.只移除服务器上文件

git rm -r -n --cached "path/"   #预览需删除的文件,可省略
git rm -r --cached  "path/"     #删除文件,path为路径
git commit -m "delete"          #提交&注释
git push         				#提交到远程服务器

2.本地与服务器文件都移除

git rm -r -n --cached "path/"   #预览需删除的文件,可省略
git rm -r  "path/"    		    #删除文件,path为路径
git commit -m "delete"          #提交&注释
git push         				#提交到远程服务器

忽略不需版本控制文件

  避免垃圾文件提交服务器,在clone本地时候增加“.gitignore”文件,这样在push服务器时候忽略这些文件。

1.语法规则

【1】空格作为分隔符,带空格文件用反斜杠“\”转义。

bulid\obj/

【2】以“#”作为注释,文件带“#”用反斜杠“\”转义。

bulid\obj/		#忽略bulid-obj目录下所有文件

【3】以“!”开头表示排除忽略该文件;如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义。

!lib.so     #  lib.so 除外(不忽略)

【4】以“/” 结束,表示忽略该文件夹以及该在文件夹路径下的文件。

build/      # 忽略 build/ 目录下的所有文件

【5】以“/” 开头,表示匹配项目根目录。

/build      # 忽略项目根目录下build文件,

【6】如果不指定路径,则匹配相对于当前 .gitignore 文件路径的内容;如果该模式不在 .gitignore 文件中,则相对于项目根目录。

*.txt       # 忽略当前路径所有 .txt结尾的文件

【6】“**” 匹配多级目录,可在开始,中间,结束。

**/build: 忽略/bulid, x/foo, x/x/foo等(上级和上两级目录)。

【7】“?” 通用匹配单个字符。

【8】"[]" 通用匹配单个字符列表。


2.步骤

1).新建“.gitignore”文件

vi .gitignore

2).添加需忽略的文件

3).配置

git config core. excludesfile .gitignore

4).推送

git push origin master

3.忽略规则未生效问题

  .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中(如使用“git add .”添加所有文件),则修改.gitignore是无效的。

解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m ‘update .gitignore’

参考

【1】http://uusama.com/542.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Acuity.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值