Java SE Development Kit 8 mac8u181 官方最中文 / 242.3M
Adobe Dreamweaver cs6 for mac官方簡體中文中文 / 405.3M
SVN管理工具(Cornerstone Mac版)v4.0 官方最英文 / 16.5M
mac PHP集成開發(fā)工具(PhpStorm)V8.0.3官方最英文 / 124.4M
蘋果SQLite數(shù)據(jù)庫管理工具(SQLiteManager f中文 / 7.9M
Mac十六進(jìn)制文本編輯器(UltraEdit)18.00.0.中文 / 56.0M
Navicat Premium for macv11.1.11 官方最新中文 / 144.7M
Editplus for macV3.80 官方最新版中文 / 12M
SourceTree for mac是一款開源免費(fèi)的GUI版本控制工具,這款軟件支持創(chuàng)建、克隆、提交、push、pull 和合并等操作。SourceTree for mac既有GitBash的命令行,又有EGit的圖形化管理,用戶界面很人性化,Eclipse+GitBash完全可以應(yīng)付版本管理。
(1)基本的commit、pull、push都擁有,而且一旦發(fā)生錯誤的時(shí)候提示很準(zhǔn)確。
(2)基本的分支管理業(yè)有,最挫的Egit刪除遠(yuǎn)程分支是假刪除,SourceTree完美解決了這個(gè)問題。
(3)擁有EGit中的reset(重置)和checkout(簽出)兩大功能,而且更加穩(wěn)定。最令我懷疑的EGit的reset hard也有報(bào)錯的時(shí)候,哎。SourceTree還是很穩(wěn)定的。
(4)那么最近用SourceTree,發(fā)現(xiàn)了一個(gè)很強(qiáng)大的功能,就是“丟棄”這個(gè)功能,和checkout其實(shí)原理是一樣的。不過圖形化界面肯定比較方便了。
這里具體解釋一下這個(gè)功能:
換句話說,你改了一批文件,如果想提交一部分,保留一部分,無疑命令行最麻煩。
然后你不滿足,其中有幾個(gè)文件你還想回滾,不想改了。那么SourceTree最容易。
這里需要注意一下命令行中checkout 是指未add的,那么可以回滾到最近的線上的commit狀態(tài)。如果add之后又修改,那么會回滾到add之后的狀態(tài)。
這一個(gè)原理,在Source體現(xiàn)的更明顯,如下:
A.首先我先將修改后的personRiskBase.jsp拖到緩存區(qū)中(1)。
圖(1)
B.然后再次修改,發(fā)現(xiàn)下面的工作區(qū)中也有這個(gè)頁面了(圖2)。
(圖2)
C.現(xiàn)在就可以對此文件進(jìn)行丟棄了,如果將下面文件丟棄(checkout),那么該文件將變?yōu)榫彌_區(qū)中的文件,如果將緩沖區(qū)文件丟棄,實(shí)際上回到了最近的commit版本了(reset操作)。
這里注意,如果該文件commit了,那么checkout實(shí)際上回不到commit之前的版本的,需要reset。下面詳細(xì)介紹一下reset命令。
(5)對于reset功能的應(yīng)用。這里先普及一下Git理念的事:
A.明確一點(diǎn),每一次commit都是對應(yīng)著一批操作而不是對應(yīng)一個(gè)文件。
這點(diǎn)和SVN的設(shè)計(jì)理念完全不一樣。
這也造成了一個(gè)必然的結(jié)局:SVN的分支存的是一個(gè)工程,所以每簽出一個(gè)分支實(shí)際上都是簽出一個(gè)工程。
而Git的分支存的是修改的記錄,所以每簽出一個(gè)分支,實(shí)際上都是對原工程的一次覆蓋。
B.在開發(fā)過程中大家可能會遇到這樣一個(gè)問題:Pull之后,會出現(xiàn)很多別人提交的代碼需要你本地再重新提交一次,那么這個(gè)原因是這樣的,當(dāng)然這個(gè)是我個(gè)人的理解:Git會把每一次pull結(jié)果做兩個(gè)處理:
B1.如果pull之后,本地沒有任何問題,那么不需要再次提交別人修改的東西了,只需要繼續(xù)你的修改,push就可以了(正常情況下一版都是這樣)。
B2.如果pull之后,本地有問題,大部分情況是沖突的情況,那么Git會把本次當(dāng)做一次不成功的pull(那么通俗的來講,git會認(rèn)為,你認(rèn)為不成功,那么你把這次版本按照你的想法改一下,再提交吧),所以你做完刪減之后,需要把剛才別人的東西再提一次作為一個(gè)新的commit。
(6)對于checkout某一次提交,SourceTree也很人性化,會給出很人性化的提示。注意checkout之后,你的工程當(dāng)前不屬于任何分支,不過可以基于此重新創(chuàng)建一個(gè)分支,很方便。
安裝好軟件后,打開軟件拉取服務(wù)器端源代碼
source path 是源代碼托管地址.(寫入地址后回車會提示輸入帳號密碼)
destination path 是本地源代碼存儲目錄.
如果你克隆源代碼時(shí)遇到了下面的錯誤:
abort: no compatible bindings available:
Subversion 1.5.0 or later required, but no bindings were found
Subvertpy 0.7.4 or later required, but not found
Please install either Subvertpy or the Subversion Python SWIG bindings!
需要你安裝 Subvertpy ,如何安裝?用神奇的 brew (如果你還沒有安裝brew ,請google 后自行解決)
brew install --with-python subversion
就是這么簡單的一句命令,你就可以安心吃下午茶了.
等到安裝結(jié)束后,記得敲入小面一句命令
sudo sh -c 'echo /usr/local/lib/svn-python > /Library/Python/2.7/site-packages/subversion.pth'
ok,需要的依賴環(huán)境配置好了,重新輸入 source path 回車獲取一次代碼吧.
拉取成功!
特別說明
聲明:西西軟件園為非贏利性網(wǎng)站 不接受任何贊助和廣告