SourceTree中文版是一款開源的git和Hg命令執(zhí)行客戶端。這款軟件為開發(fā)用戶們提供一個簡介大方的客戶端界面,有效簡化了開發(fā)者與代碼庫之間的Git操作方式,對于不是很熟悉git命令的用戶來說是相當(dāng)?shù)挠泻玫模?/p>
SourceTree使用教程:
在github上注冊一個賬號,然后登陸。
在github上點(diǎn)擊create new, new repository, 隨便輸入一個項(xiàng)目名稱即可,注意選上init this repository with readme(不選擇也可以,事后再自己編輯),如下圖。
如果想刪除剛創(chuàng)建的項(xiàng)目,可以,點(diǎn)右下角的setting,如下圖。
將頁面拉到最下邊,點(diǎn)擊delete this repository,在彈出層中輸入項(xiàng)目名稱,點(diǎn)擊刪除即可,如下圖。
現(xiàn)在要在本地clone出遠(yuǎn)程的項(xiàng)目,在github上點(diǎn)擊剛才創(chuàng)建的項(xiàng)目,進(jìn)行項(xiàng)目詳情,在右下角有一塊信息,復(fù)制httPS連接,如下圖
在本地隨便一個目錄下,輸入以下命令,git clone https://github.com/collonn/MyBatisGen.git,(這里用了一個我的開源項(xiàng)目做為示例),
我們可以看到,新建的項(xiàng)目除了一個readme文件,什么也沒有,你可以隨便將一個maven項(xiàng)目的內(nèi)容copy到此目錄下,編譯正確后,就可以提交了,下面我們以SourceTree為例,來演示怎么用可視化GUI工具提交修改。
--下載并安裝SourceTree,以windows版本為例,安裝完成后,打開sourcetree,如下圖:
點(diǎn)擊file-open,選擇我們剛才clone出來的項(xiàng)目的根目錄后,打開后,如下圖,可以看到,branches只有一個master, 點(diǎn)擊右邊的Uncommited changes,會顯示你所有有改動但未提交的文件。
看Unstaged files這一塊內(nèi)容,我們按住shift,選擇所有你要提交的文件,然后再點(diǎn)鼠標(biāo)右鍵,選擇add(意思就是add到本地的索引庫),操作完成后,Staged files這塊內(nèi)容就會出現(xiàn)我們剛才選擇的所有文件,如下圖
在我們提交到本地repo前,我們先在sourcetree中設(shè)置一下通用information,當(dāng)commit到本地時,這個infomation會當(dāng)做通用的提交信息,點(diǎn)擊tool->options,在full name和email address中輸入你的github賬號信息,如下圖
返回到我們剛才那一點(diǎn),在Staged files中選擇要提交到本地倉庫的文件后,點(diǎn)擊sourcetree左上角的commit之后,會讓我們輸入comments about this commit,輸入后,點(diǎn)提交,可能會提示你再輸入github的用戶名和密碼,如下圖
至此,我們只是提交到了本地倉庫,最后一步就是如提交到遠(yuǎn)程倉庫了,點(diǎn)擊工具欄的push按鈕,就可以提交到遠(yuǎn)程倉庫(push到遠(yuǎn)程前,最好先從遠(yuǎn)程pull一把)。點(diǎn)擊pull,即可從遠(yuǎn)程倉庫下載最新的別人提交的修改了,如下圖
點(diǎn)擊push后,會讓你選擇提交到遠(yuǎn)程倉庫的哪個分支,自己決定吧,提交到遠(yuǎn)程倉庫后,github上就可以看到你提交的內(nèi)容了,如下圖
在分支1上的修改可以通過cherry pick,直接將修改的代碼commit到分支2上。
也可以在分支2上去過merge操作來獲取其它分支的commit,但是要通過intellij idea去進(jìn)行merge。
注意cherry pick只用直接取到你本次提交的代碼,另人在你提交之前的提交不會搞過來,而merge則會把你提交前別人提交也也搞過來。
intellij ide操作如下圖:
SourceTree中文版功能
根據(jù)一個簡易的用戶界面就可以應(yīng)用全部的Git命令
根據(jù)一次點(diǎn)擊,就可以管理方法全部的Git庫,不論是托管的或是當(dāng)?shù)氐?br />
根據(jù)一次點(diǎn)擊,就可以開展commit、push、pull、merge等操作
一些優(yōu)秀的作用,如補(bǔ)丁解決、rebase、shelve、cherrypicking等
能夠聯(lián)接到你托管在Bitbucket、Stash、MicrosoftTFS或GitHub中的代碼庫