如何把一个工程中的某个目录添加为git submodule

举例:我的工程叫My,目录树如下My
|--My
||--Support
||--main.m
||--images
||--My-Prefix.pch
||--My-Info.plist
||--MyAppDelegate.h
||--MyAppDelegate.m
|
|--My.xcodeproj我希望把项目AFNetworking加成Submodule,他的目录树如下AFNetworking
|--AFNetworking//这个是真正需要的目录
|--AFNetworking.xcworkspace
|--Example
|--.gitignore
|--AFNetworking.podspec
|--CHANGES
|--LICENSE
|--README.md我要把AFNetworking加成submodulegitsubmoduleaddhttps://github.com/AFNetworking/AFNetworking.gitMy/Support/AFNetworking最终My的目录结构My
|--My
||--Support
|||--AFNetworking
|||--AFNetworking//这个是真正需要的目录
|||--AFNetworking.xcworkspace
|||--Example
|||--.gitignore
|||--AFNetworking.podspec
|||--CHANGES
|||--LICENSE
|||--README.md
||
||--main.m
||--images
||--My-Prefix.pch
||--My-Info.plist
||--MyAppDelegate.h
||--MyAppDelegate.m
|
|--My.xcodeproj我希望得到的目录结构是My
|--My
||--Support
|||--AFNetworking//这个是真正需要的目录
||
||--main.m
||--images
||--My-Prefix.pch
||--My-Info.plist
||--MyAppDelegate.h
||--MyAppDelegate.m
|
|--My.xcodeproj我通过在子模块目录执行这个命令,达到了效果gitfilter-branch-f--subdirectory-filterAFNetworking/AFNetworking----all然后gitfilter-branch-f--index-filter"gitrm-r-f--cached--ignore-unmatchAFNetworking/AFNetworking"--prune-empty然后回到父仓库commit并push
看起来一切完美了,但是我重新在clone的时候
这个Submodule的状态是挂的。。。完全clone不出来,AFNetworking只是个目录,没有文件内容
我用SourceTree打开这个工程,然后看通过submodule的方式打开AFNetworking,reset一下,目录结构就回到运行filter-branch命令之前的样子了
也就是说,这个效果只有我一个人在运行了filter-branch之后看的到,有没有什么办法,可以让大家都看到呢?
另外,我还不知道这样做了以后,如果submodule有更新,能否正常。
千万里不及你
浏览 244回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript