網友評分:
9.7分
SourceTree for Mac破解版是一款完全免費的GUI版本控制工具,該款工具不僅是SVN、Git 和Hg客戶端,而且還是款Git/Mercurial桌面客戶端,用戶通過該軟件可進行創建、克隆、提交、push、pull 和合并等操作,在新版本中,優化了界面,簡化了開發者與代碼庫之間的Git操作方式,帶來更人性化的操作體驗。
1、通過一個簡單的用戶界面即可使用所有的Git命令;
2、通過一次單擊,即可管理所有的Git庫,無論是托管的還是本地的;
3、通過一次單擊,即可進行commit、push、pull、merge等操作;
4、一些先進的功能,如補丁處理、rebase、shelve、cherry picking等;
5、可以連接到你托管在Bitbucket、Stash、Microsoft TFS或GitHub中的代碼庫。
1、基本的commit、pull、push都擁有,而且一旦發生錯誤的時候提示很準確。
2、基本的分支管理業有,最挫的Egit刪除遠程分支是假刪除,SourceTree完美解決了這個問題。
3、擁有EGit中的reset(重置)和checkout(簽出)兩大功能,而且更加穩定。最令我懷疑的EGit的reset hard也有報錯的時候,哎。SourceTree還是很穩定的。
4、那么最近用SourceTree,發現了一個很強大的功能,就是“丟棄”這個功能,和checkout其實原理是一樣的。不過圖形化界面肯定比較方便了。
這里具體解釋一下這個功能:
換句話說,你改了一批文件,如果想提交一部分,保留一部分,無疑命令行最麻煩。
然后你不滿足,其中有幾個文件你還想回滾,不想改了。那么SourceTree最容易。
這里需要注意一下命令行中checkout 是指未add的,那么可以回滾到最近的線上的commit狀態。如果add之后又修改,那么會回滾到add之后的狀態。
這一個原理,在Source體現的更明顯,如下:
A.首先我先將修改后的personRiskBase.jsp拖到緩存區中(1)。
圖(1)
B.然后再次修改,發現下面的工作區中也有這個頁面了(圖2)。
(圖2)
C.現在就可以對此文件進行丟棄了,如果將下面文件丟棄(checkout),那么該文件將變為緩沖區中的文件,如果將緩沖區文件丟棄,實際上回到了最近的commit版本了(reset操作)。
這里注意,如果該文件commit了,那么checkout實際上回不到commit之前的版本的,需要reset。下面詳細介紹一下reset命令。
5、對于reset功能的應用。這里先普及一下Git理念的事:
A.明確一點,每一次commit都是對應著一批操作而不是對應一個文件。
這點和SVN的設計理念完全不一樣。
這也造成了一個必然的結局:SVN的分支存的是一個工程,所以每簽出一個分支實際上都是簽出一個工程。
而Git的分支存的是修改的記錄,所以每簽出一個分支,實際上都是對原工程的一次覆蓋。
B.在開發過程中大家可能會遇到這樣一個問題:Pull之后,會出現很多別人提交的代碼需要你本地再重新提交一次,那么這個原因是這樣的,當然這個是我個人的理解:Git會把每一次pull結果做兩個處理:
B1.如果pull之后,本地沒有任何問題,那么不需要再次提交別人修改的東西了,只需要繼續你的修改,push就可以了(正常情況下一版都是這樣)。
B2.如果pull之后,本地有問題,大部分情況是沖突的情況,那么Git會把本次當做一次不成功的pull(那么通俗的來講,git會認為,你認為不成功,那么你把這次版本按照你的想法改一下,再提交吧),所以你做完刪減之后,需要把剛才別人的東西再提一次作為一個新的commit。
6、對于checkout某一次提交,SourceTree也很人性化,會給出很人性化的提示。注意checkout之后,你的工程當前不屬于任何分支,不過可以基于此重新創建一個分支,很方便。
標簽: SourceTree 版本控制