侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

git 文件忽略

2023-11-21 星期二 / 0 评论 / 0 点赞 / 63 阅读 / 2203 字

平时积累了一些git使用方面的资料,文件忽略方面一直没有深入研究,这次花了点时间整理了一下另起一文 方案一: .gitignore .gitignore会被提交到远程,并对所有用户有效 .gitign

平时积累了一些git使用方面的资料,文件忽略方面一直没有深入研究,这次花了点时间整理了一下另起一文

方案一: .gitignore

.gitignore会被提交到远程,并对所有用户有效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

//更新 .gitignore
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
    更新 .gitignore 可以解决 “文件已经被纳入了版本”的情况

 

方案二: assume-unchanged
    git update-index --assume-unchanged PATH    在PATH处输入要忽略的文件。
    git update-index --no-assume-unchanged PATH 解除忽略

此方法对“已经被纳入了版本”的文件同样有效

这种方法只对本地用户有效,即本地修改文件不会被提交 但远程有更新会pull下来

这里的PATH貌似只能是文件不能是目录

当指定PATH为目录时:

如:git update-index --assume-unchanged ./

提示:Ignoring path xxx/xxx/xxx  但没有效果

可以使用通配符(*),但是如果目录中含有子目录则会报错:

Unable to mark file xxx/xxx/xxx

解决办法:

利用 git ls-files 命令 和 管道符 | 忽略当前目录下所有文件:

git ls-files -z | xargs -0 git update-index --assume-unchanged

当然这样也只是将已有的文件纳入忽略,对新文件没有效果(需要再次执行该命令或结合下面的方法)

 

方案三: .git/info/exclude

同样只对本地当前用户有效,可设置目录,设置方法和 .gitignore 相同

和 .gitignore一样只对未跟踪的文件有效

 

_____________________________________________________________________

    
//提交忽略的文件
git add -f <path>
    

广告 广告

评论区