-->本教程適用于主流的開(kāi)源網(wǎng)站github和bitbucket狭郑,個(gè)人認(rèn)為sourceTree還是比較好用的Git客戶端沛申,支持windows和mac os郁岩。
-->soureceTree的最新版本可能與此教程的screenshot有些許不同,但大同小異(sourceTree的最新版本操作上更人性化)
先安裝gitForWindows睦尽,按提示默認(rèn)安裝就可臺(tái)器净,安裝之后才可以在命令行中用git clone命令
先看這里,使用Intellij IDEA 創(chuàng)建項(xiàng)目 從github上clone項(xiàng)目 并用SourceTree打開(kāi)
進(jìn)階看這里当凡,用sourcetree創(chuàng)建新的branch山害,進(jìn)行branch代碼merge, cherry pick,reverse commit
提高看這里宁玫,git for windows 總是提示輸入用戶名和秘密
提高看這里粗恢,用intellij idea合并git沖突
-->大家可以先看個(gè)關(guān)于git工作流程的視頻柑晒,先了解一下欧瘪,被youku轉(zhuǎn)碼了,不太清楚匙赞,將就看吧佛掖,點(diǎn)這里
-->在github上注冊(cè)一個(gè)賬號(hào),然后登陸涌庭。
-->在github上點(diǎn)擊create new, new repository, 隨便輸入一個(gè)項(xiàng)目名稱即可芥被,注意選上init this repository with readme(不選擇也可以,事后再自己編輯)坐榆,如下圖拴魄。
關(guān)于git流程,給個(gè)不錯(cuò)的參考鏈接,點(diǎn)我打開(kāi)
-->如果想刪除剛創(chuàng)建的項(xiàng)目匹中,可以夏漱,點(diǎn)右下角的setting,如下圖顶捷。
-->將頁(yè)面拉到最下邊挂绰,點(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連接荔仁,如下圖
-->在本地隨便一個(gè)目錄下,輸入以下命令芽死,git clone https://github.com/jelly-liu/MyBatisGen.git乏梁,(這里用了一個(gè)我的開(kāi)源項(xiàng)目做為示例),
-->我們可以看到关贵,新建的項(xiàng)目除了一個(gè)readme文件遇骑,什么也沒(méi)有,你可以隨便將一個(gè)maven項(xiàng)目的內(nèi)容copy到此目錄下揖曾,編譯正確后落萎,就可以提交了,下面我們以SourceTree為例炭剪,來(lái)演示怎么用可視化GUI工具提交修改练链。
--下載并安裝SourceTree,以windows版本為例奴拦,安裝完成后媒鼓,打開(kāi)sourcetree,如下圖
-->點(diǎn)擊file-open错妖,選擇我們剛才clone出來(lái)的項(xiàng)目的根目錄后绿鸣,打開(kāi)后,如下圖暂氯,可以看到潮模,branches只有一個(gè)master, 點(diǎn)擊右邊的Uncommited changes痴施,會(huì)顯示你所有有改動(dòng)但未提交的文件擎厢。
-->看Unstaged files這一塊內(nèi)容究流,我們按住shift,選擇所有你要提交的文件动遭,然后再點(diǎn)鼠標(biāo)右鍵梯嗽,選擇add(意思就是add到本地的索引庫(kù)),操作完成后沽损,Staged files這塊內(nèi)容就會(huì)出現(xiàn)我們剛才選擇的所有文件灯节,如下圖
-->在我們提交到本地repo前,我們先在sourcetree中設(shè)置一下通用information绵估,當(dāng)commit到本地時(shí)炎疆,這個(gè)infomation會(huì)當(dāng)做通用的提交信息,點(diǎn)擊tool->options国裳,在full name和email address中輸入你的github賬號(hào)信息形入,如下圖
-->返回到我們剛才那一點(diǎn),在Staged files中選擇要提交到本地倉(cāng)庫(kù)的文件后缝左,點(diǎn)擊sourcetree左上角的commit之后亿遂,會(huì)讓我們輸入comments about this commit,輸入后渺杉,點(diǎn)提交蛇数,可能會(huì)提示你再輸入github的用戶名和密碼,如下圖
-->至此是越,我們只是提交到了本地倉(cāng)庫(kù)耳舅,最后一步就是如提交到遠(yuǎn)程倉(cāng)庫(kù)了,點(diǎn)擊工具欄的push按鈕倚评,就可以提交到遠(yuǎn)程倉(cāng)庫(kù)(push到遠(yuǎn)程前浦徊,最好先從遠(yuǎn)程pull一把)。點(diǎn)擊pull天梧,即可從遠(yuǎn)程倉(cāng)庫(kù)下載最新的別人提交的修改了盔性,如下圖
-->點(diǎn)擊push后,會(huì)讓你選擇提交到遠(yuǎn)程倉(cāng)庫(kù)的哪個(gè)分支呢岗,自己決定吧冕香,提交到遠(yuǎn)程倉(cāng)庫(kù)后,github上就可以看到你提交的內(nèi)容了敷燎,如下圖
-->在分支1上的修改可以通過(guò)cherry pick暂筝,直接將修改的代碼commit到分支2上箩言。
也可以在分支2上去過(guò)merge操作來(lái)獲取其它分支的commit硬贯,但是要通過(guò)intellij idea去進(jìn)行merge。
注意cherry pick只用直接取到你本次提交的代碼陨收,另人在你提交之前的提交不會(huì)搞過(guò)來(lái)饭豹,而merge則會(huì)把你提交前別人提交也也搞過(guò)來(lái)鸵赖。
intellij ide操作如下圖:
-->sourcetree左邊欄的Branches,可以隨便刪除拄衰,再重新從Remotes中選擇你要check out的分支它褪,clone到本地倉(cāng)庫(kù)。
-->對(duì)于當(dāng)前的所有本地改動(dòng)翘悉,都可以用Stash功能將改動(dòng)暫時(shí)保存茫打,在任何時(shí)候都可以進(jìn)行apply stash to current work branch。
-->至此妖混,githut和sourcetree的使用老赤,就結(jié)束了,工具只是方便大眾化制市,不排斥只用command line操作抬旺,自己玩吧。祥楣。开财。