当前位置:   article > 正文

Git忽略不想提交的文件_git uls-files -v | grep '^h\

git uls-files -v | grep '^h\

分几种情况

(1)不想提交的文件是仓库中也不需要的(也就是可以删除的,但每次会自动生成)

使用.gitignore,将需要忽略的文件加入这个文件

例如:

  1. *.o
  2. *.o.*
  3. *.a
  4. *.s
  5. *.ko
  6. *.so
  7. *.so.dbg
  8. *.mod.c
  9. /vmlinuz
  10. /System.map
  11. /Module.markers
  12. /tar-install/
  13. !.gitignore
  14. !.mailmap
  15. #
  16. # Generated include files
  17. #
  18. include/config
  19. include/generated
  20. arch/*/include/generated
  21. # stgit generated dirs
  22. patches-*

将这个.gitignore文件提交至远程仓库,以后所有取这个工程的都会忽略指定的文件

但是这要求需要忽略的文件是未追踪状态,也就是说没有被git add 过;如果已经add 过可以使用以下命令取消追踪

  1. git rm --cached file/path
  2. git add .
  3. git push

git rm --cached   会删除文件的追踪状态,不会删除本地文件,git push后是会删除远程仓库内的文件的

 

(2)需要忽略的文件是仓库内必须的,但需要忽略本地改动(也就是说远程仓库中不能删除)

git update-index --assume-unchanged  file/path

这个命令可以忽略已经是追踪状态的文件,但是无法将这个忽略状态提交至远程仓库,只对当前本地工程有效

取消忽略:

git update-index --no-assume-unchanged file/path

查看忽略了哪些文件

git ls-files -v | grep '^h\ '
  1. 提取文件路径
  2. git ls-files -v | grep '^h\ ' | awk '{print $2}'
  1. 所有被忽略的文件,取消忽略的方法
  2. git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged

另外一组命令:

  1. git update-index --skip-worktree file/path
  2. git update-index --no-skip-worktree file/path

查看被skip-worktree 的文件列表

git ls-files -v | grep ^S

(3)需要忽略远程仓库内需要保留的文件,并将忽略属性上传至远程仓库

还未找到解决方案

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/435358
推荐阅读
  

闽ICP备14008679号