我有一个包含一堆.png文件的仓库。这些被分为两个子目录

  • icon/
  • screen/

  • ios - 为什么git add -A不会添加我所有的png文件?-LMLPHP

    ios - 为什么git add -A不会添加我所有的png文件?-LMLPHP

    您可能会注意到,它们是iOS应用程序的图标和屏幕(我不知道它是否有用)。

    我执行git initgit add -A

    跟踪screen/中的PNG文件。icon/中的PNG文件保持未跟踪状态。

    这是我的全球.gitignore
    *.retry
    
    # Dropbox settings and caches
    .dropbox
    .dropbox.attr
    .dropbox.cache
    
    # Logs
    logs
    *.log
    npm-debug.log*
    
    # Runtime data
    pids
    *.pid
    *.seed
    *.pid.lock
    
    # Directory for instrumented libs generated by jscoverage/JSCover
    lib-cov
    
    # Coverage directory used by tools like istanbul
    coverage
    
    # nyc test coverage
    .nyc_output
    
    # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
    .grunt
    
    # node-waf configuration
    .lock-wscript
    
    # Compiled binary addons (http://nodejs.org/api/addons.html)
    build/Release
    
    # Dependency directories
    node_modules
    jspm_packages
    
    # Optional npm cache directory
    .npm
    
    # Optional eslint cache
    .eslintcache
    
    # Optional REPL history
    .node_repl_history
    
    # Output of 'npm pack'
    *.tgz
    
    # Yarn Integrity file
    .yarn-integrity
    
    
    # Ignore redis binary dump (dump.rdb) files
    
    *.rdb
    
    # cache files for sublime text
    *.tmlanguage.cache
    *.tmPreferences.cache
    *.stTheme.cache
    
    # workspace files are user-specific
    *.sublime-workspace
    
    # project files should be checked into the repository, unless a significant
    # proportion of contributors will probably not be using SublimeText
    # *.sublime-project
    
    # sftp configuration file
    sftp-config.json
    
    # Package control specific files
    Package Control.last-run
    Package Control.ca-list
    Package Control.ca-bundle
    Package Control.system-ca-bundle
    Package Control.cache/
    Package Control.ca-certs/
    bh_unicode_properties.cache
    
    # Sublime-github package stores a github token in this file
    # https://packagecontrol.io/packages/sublime-github
    GitHub.sublime-settings
    
    .vagrant/
    
    # Virtualenv
    # http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
    .Python
    [Bb]in
    [Ii]nclude
    [Ll]ib
    [Ll]ib64
    [Ll]ocal
    [Ss]cripts
    pyvenv.cfg
    .venv
    pip-selfcheck.json
    
    # Xcode
    #
    # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
    
    ## Build generated
    build/
    DerivedData/
    
    ## Various settings
    *.pbxuser
    !default.pbxuser
    *.mode1v3
    !default.mode1v3
    *.mode2v3
    !default.mode2v3
    *.perspectivev3
    !default.perspectivev3
    xcuserdata/
    
    ## Other
    *.moved-aside
    *.xccheckout
    *.xcscmblueprint
    
    *.DS_Store
    .AppleDouble
    .LSOverride
    
    # Icon must end with two \r
    Icon
    
    
    # Thumbnails
    ._*
    
    # Files that might appear in the root of a volume
    .DocumentRevisions-V100
    .fseventsd
    .Spotlight-V100
    .TemporaryItems
    .Trashes
    .VolumeIcon.icns
    .com.apple.timemachine.donotpresent
    
    # Directories potentially created on remote AFP share
    .AppleDB
    .AppleDesktop
    Network Trash Folder
    Temporary Items
    .apdisk
    

    这是我的本地.gitignore
    build/
    .retry
    

    我还尝试运行git check-ignore -v *来查找哪个.gitignore规则阻止了图标png文件的跟踪,但是没有规则:
    .gitignore:1:build/ build
    /Users/me/.gitignore_global:1:*.retry   copy_resources.retry
    

    我还尝试使用ls -al@检查扩展属性,但无法发现任何差异。

    您能否解释原因并提供解决方案?

    最佳答案

    在您的设置中本地进行了一些测试,在gitignore的第133行上

    Icon
    

    这导致目录被忽略。

    确定是否需要此规则,如果不删除该行并重新运行
    git add -A
    

    另一种方法是重命名目录

    编辑:澄清我如何识别此使用
    git check-ignore -v icon/test1.png
    

    哪个回来了
    .gitignore:133:Icon icon/test1.png
    

    07-24 12:53