對于開發(fā)者來說SourceTree這款軟件肯定不會陌生,作為一款開源免費的git客戶端,SourceTree是很多開發(fā)者們的首選。SourceTree擁有一個精美簡潔的界面,大大簡化了開發(fā)者與代碼庫之間的Git操作方式,這對于那些不熟悉Git命令的開發(fā)者來說非常實用。
功能介紹:
通過一個簡單的用戶界面即可使用所有的Git命令
通過一次單擊,即可管理所有的Git庫,無論是托管的還是本地的
通過一次單擊,即可進行commit、push、pull、merge等操作
一些先進的功能,如補丁處理、rebase、shelve、cherry picking等
可以連接到你托管在Bitbucket、Stash、Microsoft TFS或GitHub中的代碼庫
SourceTree使用教程:
-->在github上注冊一個賬號,然后登陸。
-->在github上點擊create new, new repository, 隨便輸入一個項目名稱即可,注意選上init this repository with readme(不選擇也可以,事后再自己編輯),如下圖。
-->如果想刪除剛創(chuàng)建的項目,可以,點右下角的setting,如下圖。
-->將頁面拉到最下邊,點擊delete this repository,在彈出層中輸入項目名稱,點擊刪除即可,如下圖。
-->現(xiàn)在要在本地clone出遠程的項目,在github上點擊剛才創(chuàng)建的項目,進行項目詳情,在右下角有一塊信息,復制https連接,如下圖
-->在本地隨便一個目錄下,輸入以下命令,git clone https://github.com/collonn/MyBatisGen.git,(這里用了一個我的開源項目做為示例),
-->我們可以看到,新建的項目除了一個readme文件,什么也沒有,你可以隨便將一個maven項目的內容copy到此目錄下,編譯正確后,就可以提交了,下面我們以SourceTree為例,來演示怎么用可視化GUI工具提交修改。
--下載并安裝SourceTree,以windows版本為例,安裝完成后,打開sourcetree,如下圖
-->點擊file-open,選擇我們剛才clone出來的項目的根目錄后,打開后,如下圖,可以看到,branches只有一個master, 點擊右邊的Uncommited changes,會顯示你所有有改動但未提交的文件。
-->看Unstaged files這一塊內容,我們按住shift,選擇所有你要提交的文件,然后再點鼠標右鍵,選擇add(意思就是add到本地的索引庫),操作完成后,Staged files這塊內容就會出現(xiàn)我們剛才選擇的所有文件,如下圖
-->在我們提交到本地repo前,我們先在sourcetree中設置一下通用information,當commit到本地時,這個infomation會當做通用的提交信息,點擊tool->options,在full name和email address中輸入你的github賬號信息,如下圖
-->返回到我們剛才那一點,在Staged files中選擇要提交到本地倉庫的文件后,點擊sourcetree左上角的commit之后,會讓我們輸入comments about this commit,輸入后,點提交,可能會提示你再輸入github的用戶名和密碼,如下圖
-->至此,我們只是提交到了本地倉庫,最后一步就是如提交到遠程倉庫了,點擊工具欄的push按鈕,就可以提交到遠程倉庫(push到遠程前,最好先從遠程pull一把)。點擊pull,即可從遠程倉庫下載最新的別人提交的修改了,如下圖
-->點擊push后,會讓你選擇提交到遠程倉庫的哪個分支,自己決定吧,提交到遠程倉庫后,github上就可以看到你提交的內容了,如下圖
-->在分支1上的修改可以通過cherry pick,直接將修改的代碼commit到分支2上。
也可以在分支2上去過merge操作來獲取其它分支的commit,但是要通過intellij idea去進行merge。
注意cherry pick只用直接取到你本次提交的代碼,另人在你提交之前的提交不會搞過來,而merge則會把你提交前別人提交也也搞過來。
intellij ide操作如下圖:
-->sourcetree左邊欄的Branches,可以隨便刪除,再重新從Remotes中選擇你要check out的分支,clone到本地倉庫。
-->對于當前的所有本地改動,都可以用Stash功能將改動暫時保存,在任何時候都可以進行apply stash to current work branch。
-->至此,githut和sourcetree的使用,就結束了,工具只是方便大眾化,不排斥只用command line操作
使用方法
使用中若出現(xiàn)提示:
“ssh-agent ... System.NullReferenceException”異常,請將Git升級到2.6版后再試一試。
出現(xiàn)此問題是此版本的一個bug,官方正在修復中。