前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git设置忽略同步的文件或文件夹

git设置忽略同步的文件或文件夹

原创
作者头像
一梦三千里
发布2022-09-26 16:56:34
3.2K0
发布2022-09-26 16:56:34
举报
文章被收录于专栏:书生意气

前言

针对git同步,可以进行灵活的设定。git官方提供了四种方式来忽略文件同步,针对不同的场景灵活应用。

全局忽略

添加全局忽略配置文件目录 ~/.gitignore

代码语言:shell
复制
git config --global core.excludefile ~/.gitignore

单个仓库忽略(远程共用)

在仓库的根目录下新建.gitignore 文件,在文件里配置忽略规则,同时把 .gitignore 文件加入版本管理。

示例:

代码语言:javascript
复制
# phpstorm project files
.idea
.tags

单个仓库忽略(本机使用)

直接编辑仓库根目录下的.git/info/exclude文件,把要忽略的规则直接写入,这个方法只在本机当前仓库起效,不会对其他的克隆仓库起效。

代码语言:javascript
复制
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

忽略已跟踪文件的改动(本机使用)

上诉1,2,3方案都是适用于未跟踪的文件改动,而对于已跟踪文件的改动并不适用,好在针对这种情况 Git 也提供了我们方法去忽略。

代码语言:txt
复制
#忽略跟踪(提交代码时,忽略某一个文件不提交,即某个文件不被版本控制)
git update-index --assume-unchanged FLIE   #FILE是目标文件路径       
#恢复跟踪
git update-index --no-assume-unchanged FLIE   #FILE是目标文件路径  

不过如果执行 git checkout和git reset的时候仍然会影响到这些文件,并把内容恢复到被跟踪的内容(再次修改仍然不会被跟踪)。

如果忽略的文件多了,可以使用以下命令查看忽略列表

代码语言:txt
复制
git uls-files -v | grep '^h\ '

提取文件路径,方法如下

代码语言:txt
复制
git ls-files -v | grep '^h\ ' | awk '{print $2}'

所有被忽略的文件,取消忽略的方法,如下

代码语言:txt
复制
git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged  

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 全局忽略
  • 单个仓库忽略(远程共用)
  • 单个仓库忽略(本机使用)
  • 忽略已跟踪文件的改动(本机使用)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档