2017-02-17 91 views
4

我有一個包含一堆.png文件的回購。那些被組織成兩個子目錄爲什麼git add -A不會添加我所有的png文件?

  • icon/
  • screen/

enter image description here

enter image description here

正如你可能會注意到,他們的圖標和屏幕的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 [email protected]檢查擴展屬性,但我無法發現任何差異。

您能解釋一下爲什麼並提供解決方案嗎?

+0

從哪個位置開始'git add -A'?另外,作爲一個附註,在Git中避免版本化二進制文件通常是一個好主意,儘管版本化一些小圖標並不是什麼壞事。 –

+0

我從項目根目錄下'git add -A'。 –

+1

也許檢查你的'.gitignore'只是一個完整的檢查。 –

回答

3

做了一些測試本地您的設置,您gitignore的133行,你有

Icon 

這是造成目錄被忽略的行。

確定是否需要這條規則,如果不刪除該行並重新運行

git add -A 

另一種方法是重命名目錄

編輯:爲了澄清我如何確定這個我用

git check-ignore -v icon/test1.png 

其返回

.gitignore:133:Icon icon/test1.png 
+0

謝謝,彼得。有用!這很奇怪,我無法使用'git check-ignore -v *'來發現它,這也很奇怪,git不區分大小寫。據我所知,git默認是區分大小寫 –

+0

不用擔心阿德里亞諾,祝你有美好的一天! –

+2

@AdrianoDiGiovanni:Git嘗試(並非總是非常成功)來了解主機系統是否進行大小寫摺疊。 MacOS HFS +默認情況下可以摺疊,因此Git會將'core.ignoreCase'設置爲'true',然後知道'icon'匹配'Icon'。 – torek

相關問題