舉例:我的工程叫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的目錄結(jié)構(gòu)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我希望得到的目錄結(jié)構(gòu)是My|--My||--Support|||--AFNetworking//這個是真正需要的目錄||||--main.m||--images||--My-Prefix.pch||--My-Info.plist||--MyAppDelegate.h||--MyAppDelegate.m||--My.xcodeproj我通過在子模塊目錄執(zhí)行這個命令,達到了效果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的狀態(tài)是掛的。。。完全clone不出來,AFNetworking只是個目錄,沒有文件內(nèi)容我用SourceTree打開這個工程,然后看通過submodule的方式打開AFNetworking,reset一下,目錄結(jié)構(gòu)就回到運行filter-branch命令之前的樣子了也就是說,這個效果只有我一個人在運行了filter-branch之后看的到,有沒有什么辦法,可以讓大家都看到呢?另外,我還不知道這樣做了以后,如果submodule有更新,能否正常。
如何把一個工程中的某個目錄添加為git submodule
千萬里不及你
2019-04-06 08:31:54