如何用SourceTree向BitBucket克隆的本地仓库添加新目录?目录未显示问题
解决SourceTree不识别新拖入目录的问题
嘿,这个问题我之前也碰到过,核心原因其实是Git本身不追踪空目录——这是Git的设计特性,不是你操作错了哦!下面分两种情况给你解决办法:
情况1:你拖入的是空目录
Git只会追踪文件,空目录对它来说相当于不存在,所以SourceTree自然看不到。解决办法超简单:
- 在这个空目录里新建一个占位文件,行业里常用的是
.gitkeep(这个文件名是约定俗成的,Git会识别它,从而把整个目录纳入追踪) - 建好之后,SourceTree就能识别到这个目录了,接下来就可以正常执行添加、提交、推送流程啦
情况2:拖入的目录里有文件,但还是没被识别
如果目录里有内容却没显示,试试这几个排查步骤:
- 检查项目根目录的
.gitignore文件,看看有没有规则把这个目录或者里面的文件排除掉了(比如有没有类似/your-new-folder/这样的条目) - 手动刷新SourceTree:点击界面上的刷新按钮(那个循环箭头图标),或者在终端里进入项目目录执行
git add .,再回到SourceTree看状态 - 确认这个目录里没有嵌套的
.git文件夹——如果有的话,Git会把它当成子模块,SourceTree不会直接显示普通文件状态,要是你不是故意用子模块,删掉这个嵌套的.git文件夹就行
以后添加新目录的时候,要么确保目录里已经有文件,要么提前放个.gitkeep,就不会再遇到这个问题啦!
内容的提问来源于stack exchange,提问作者Labanino




