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 忽略文件設置
一、打開配置文件 mvim ~/.subversion/config
二、找到 global-ignores 一行,去掉注釋,編輯成:
global-ignores = build *~.nib *.so *.pbxuser *.mode(在此添加呢要忽略的文件后綴)
三、找到 enable-auto-props = yes 把注釋去掉
(讓立即生效?這條沒有試過,當時按第二條改了以后發現還是沒有反應)
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”
如果不出所料,你應該能發現有一到數個的條目是用紅色字體來顯示的。
什么意思?被工程引用的這些文件,其物理文件已經不處於之前所記錄的地方了。
怎么辦?右鍵點擊紅色條目,選擇 “Reveal in Project Navigator”,
此時大抵能在左側欄中定位到缺失文件所在的路徑,接下來就好辦了,找到缺失的文件,挪回它應該待的地方。
4.ld: library not found for -lcurl
現象:在編譯工程時,有時會遇到類似“ ld: library not found for -l…” 的錯誤提示。
原因:通常這是由於工程在編譯時找不到需要的鏈接庫而導致的。
解決方法:
一般可以通過如下的方法解決,在工程的 Target 中選中要執行編譯的某個target,
然后 “get info”,打開 Build 設置頁面,在 “ Library Search Path” 中添加缺失鏈接庫的所在文件夾的路徑即可。
5.安裝 Versions for Mac 以后,全局忽略的列表中默認是包含 *.a 文件類型的,
這樣可能會導致一些問題,就拿 cocosd-x 庫來說吧,
cocos2d-x 創建的模板工程中就包含着三個 .a 類型的文件: libcurl.a、 libwebp.a、 libwebsockets.a。
如果用 Versions 來做版本管理的話,這些 .a 文件就可能被跳過。
當其他人從 svn 服務器 checkout 該工程進行編譯的時候,就可能會出現上一點中所描述的情形。
6.svn 默認 ignore(忽略)一些文件,例如 “*.o”,怎么取消這種默認忽略讓文件能正常提交呢?
切換到指定目錄,使用 “ svn add * --force --no-ignore” 命令即可。
其中,“ --no-ignore” 是取消忽略,“ * --force” 是添加當前目錄及所有子目錄下的所有文件。
7.受版本控制的工程,對其做粘貼目錄的操作須謹慎!
如果粘貼進去的某個目錄中也包含了 .svn 隱藏目錄,就可能會導致目標工程的版本控制出錯,
直觀的表現就是某目錄下明明存在一些文件,但在 Versions 中卻看不到,日常的 svn 操作也可能會受到一定的影響。
怎么解決這個問題?在控制台下切換到出問題的目錄,使用 “find . -name .svn | xargs rm -rf” 命令即可。