-->本教程適用於主流的開源網站github和bitbucket,我的認爲sourceTree仍是比較好用的git客戶端,支持windows和mac os。html
-->soureceTree的最新版本可能與此教程的screenshot有些許不一樣,但大同小異(sourceTree的最新版本操做上更人性化)git
先安裝gitForWindows,按提示默認安裝就可臺,安裝以後才能夠在命令行中用git clone命令github
先看這裏,使用Intellij IDEA 建立項目 從github上clone項目 並用SourceTree打開windows
-->你們能夠先看個關於git工做流程的視頻,先了解一下,被youku轉碼了,不太清楚,將就看吧,點這裏app
-->在github上註冊一個帳號,而後登錄。maven
-->在github上點擊create new, new repository, 隨便輸入一個項目名稱便可,注意選上init this repository with readme(不選擇也能夠,過後再本身編輯),以下圖。ide
關於git流程,給個不錯的參考連接,點我打開工具
-->若是想刪除剛建立的項目,能夠,點右下角的setting,以下圖。網站
-->將頁面拉到最下邊,點擊delete this repository,在彈出層中輸入項目名稱,點擊刪除便可,以下圖。this
-->如今要在本地clone出遠程的項目,在github上點擊剛纔建立的項目,進行項目詳情,在右下角有一塊信息,複製https鏈接,以下圖
-->在本地隨便一個目錄下,輸入如下命令,git clone https://github.com/jelly-liu/MyBatisGen.git,(這裏用了一個個人開源項目作爲示例),
-->咱們能夠看到,新建的項目除了一個readme文件,什麼也沒有,你能夠隨便將一個maven項目的內容copy到此目錄下,編譯正確後,就能夠提交了,下面咱們以SourceTree爲例,來演示怎麼用可視化GUI工具提交修改。
--下載並安裝SourceTree,以windows版本爲例,安裝完成後,打開sourcetree,以下圖
-->點擊file-open,選擇咱們剛纔clone出來的項目的根目錄後,打開後,以下圖,能夠看到,branches只有一個master, 點擊右邊的Uncommited changes,會顯示你全部有改動但未提交的文件。
-->看Unstaged files這一塊內容,咱們按住shift,選擇全部你要提交的文件,而後再點鼠標右鍵,選擇add(意思就是add到本地的索引庫),操做完成後,Staged files這塊內容就會出現咱們剛纔選擇的全部文件,以下圖
-->在咱們提交到本地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操做,本身玩吧。。。