1.遞歸刪除指定目錄下的 .git、.svn 文件
find . -name .git | xargs rm -fr
find . -name .svn | xargs rm -rf
第一條倒還不常用,因為用 git 做版本管理的時候,
只在根目錄下生成一個 .git 目錄,刪掉這一個就行了~
因此,刪除 .git 字需要 rm -rf .git 命令就夠了。
第二條才是真的,svn 做版本管理的時候,受管理的每個目錄下面都會有一個 .svn 隱藏目錄。
因此,如果要去掉 svn 文件的話,則上面的第二條命令乃不二之選~
2.Versions for Mac 忽略文件設(shè)置
一、打開配置文件mvim ~/.subversion/config
二、找到 global-ignores 一行,去掉注釋,編輯成:
global-ignores = build *~.nib *.so *.pbxuser *.mode(在此添加呢要忽略的文件后綴)
三、找到enable-auto-props = yes把注釋去掉
(讓立即生效?這條沒有試過,當時按第二條改了以后發(fā)現(xiàn)還是沒有反應(yīng))
3.ld: library not found for -lcurl
XCode 里面有時候會報出如下的錯誤(今天我就遇到了一遭):
clang: warning: argument unused during compilation: '-websockets'
ld: library not found for -lcurl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解決方案:
第一時間點擊 XCode 工程文件,在 Build Phases 中查看 “Link binary With Libraries”
如果不出所料,你應(yīng)該能發(fā)現(xiàn)有一到數(shù)個的條目是用紅色字體來顯示的。
什么意思?被工程引用的這些文件,其物理文件已經(jīng)不處于之前所記錄的地方了。
怎么辦?右鍵點擊紅色條目,選擇 “Reveal in Project Navigator”,
此時大抵能在左側(cè)欄中定位到缺失文件所在的路徑,接下來就好辦了,找到缺失的文件,挪回它應(yīng)該待的地方。
4.ld: library not found for -lcurl
現(xiàn)象:在編譯工程時,有時會遇到類似“ld: library not found for -l…” 的錯誤提示。
原因:通常這是由于工程在編譯時找不到需要的鏈接庫而導(dǎo)致的。
解決方法:
一般可以通過如下的方法解決,在工程的 Target 中選中要執(zhí)行編譯的某個target,
然后 “get info”,打開 Build 設(shè)置頁面,在 “Library Search Path” 中添加缺失鏈接庫的所在文件夾的路徑即可。
5.安裝 Versions for Mac 以后,全局忽略的列表中默認是包含 *.a 文件類型的,
這樣可能會導(dǎo)致一些問題,就拿 cocosd-x 庫來說吧,
cocos2d-x 創(chuàng)建的模板工程中就包含著三個 .a 類型的文件:libcurl.a、libwebp.a、libwebsockets.a。
如果用 Versions 來做版本管理的話,這些 .a 文件就可能被跳過。
當其他人從 svn 服務(wù)器 checkout 該工程進行編譯的時候,就可能會出現(xiàn)上一點中所描述的情形。
6.svn 默認 ignore(忽略)一些文件,例如 “*.o”,怎么取消這種默認忽略讓文件能正常提交呢?
切換到指定目錄,使用 “svn add * --force --no-ignore” 命令即可。
其中,“--no-ignore” 是取消忽略,“* --force” 是添加當前目錄及所有子目錄下的所有文件。
7.受版本控制的工程,對其做粘貼目錄的操作須謹慎!
如果粘貼進去的某個目錄中也包含了 .svn 隱藏目錄,就可能會導(dǎo)致目標工程的版本控制出錯,
直觀的表現(xiàn)就是某目錄下明明存在一些文件,但在 Versions 中卻看不到,日常的 svn 操作也可能會受到一定的影響。
怎么解決這個問題?在控制臺下切換到出問題的目錄,使用 “find . -name .svn | xargs rm -rf” 命令即可。