**1.創(chuàng)建gitHub賬號(hào)和倉庫
2.sourceTree管理gitHub倉庫and簡單使用
3.sourceTree解決問題的方法
4.sourceTree常見報(bào)錯(cuò)**
1.創(chuàng)建gitHub賬號(hào)和倉庫
如何申請gitHub賬號(hào)創(chuàng)建倉庫在另一篇文章有 創(chuàng)建gitHub賬號(hào)和倉庫傳送門
2.sourceTree管理gitHub倉庫and簡單使
打開SourceTree點(diǎn)擊 +新倉庫 選擇 從URL克隆
粘貼在GitHub創(chuàng)建倉庫的URL,SourceTree自動(dòng)幫我們生成目標(biāo)路徑也就是本地地址以及名稱
添加倉庫成功
現(xiàn)在需要往我們創(chuàng)建的GitHub倉庫中添加項(xiàng)目驴剔,首先點(diǎn)擊在finder中打開 隨便往里面放一個(gè)項(xiàng)目 關(guān)閉 文件界面回到我們SourceTree界面 點(diǎn)擊文件狀態(tài) 會(huì)看到剛才添加的項(xiàng)目
當(dāng)項(xiàng)目中文件內(nèi)否有所改變時(shí) 就會(huì)顯示在此
點(diǎn)擊未暫存文件 回到已暫存文件中 意思是我們允許提交到倉庫 現(xiàn)在就可以提交 至GitHub倉庫
點(diǎn)擊提交 在文件狀態(tài) 右邊會(huì)提醒有多少文件有所改變
第一次提交會(huì)讓輸入賬號(hào)密碼
提交成功 會(huì)先提交至我們的本地倉庫 點(diǎn)擊推送(Push) 就會(huì)提交到GitHub倉庫
創(chuàng)建分支 成功創(chuàng)建過分支以后 直接推送到GitHub倉庫(跟上面的push一樣) 就可以在GitHub中可以看到
合并分支
如何參入開源項(xiàng)目
**以AFN為例 AFNetworking
點(diǎn)擊右上角fork 如果我們想要修改別的開源項(xiàng)目 需要先fork開源項(xiàng)目 到我們的賬戶中 才可以修改**
fork結(jié)束 將賬號(hào)中的AFNetworking倉庫克隆(clone)到本機(jī)SourceTree中 并推送(push)到我們GitHub遠(yuǎn)程倉庫中
上傳完成后 在我們的GitHub倉庫中會(huì)看到我們上傳的項(xiàng)目 我們點(diǎn)擊compare
之后我們會(huì)進(jìn)入一個(gè)compare頁面 這個(gè)頁面用于比較作者倉庫與我們倉庫的文件的不同。base fork:指的是作者倉庫目錄地址;head fork:指的是我們賬號(hào)中fork后所產(chǎn)生的倉庫地址畜吊。 如果有所修改直接點(diǎn)擊Create pull request即可
如果有所修改 我們點(diǎn)擊Pull request
在這可以輸入自己更改的原因/更改的內(nèi)容遏暴。這里寫的文字會(huì)顯示給源代碼作者见咒,如果作者接受了我們的推送請求(pull request)后,我們的代碼將會(huì)上傳到源代碼作者的倉庫內(nèi)低匙,成功為開源做貢獻(xiàn)。如果作者拒絕了我們的推送請求(pull request)后碳锈,我們的代碼將不會(huì)上傳到源代碼作者的倉庫內(nèi)顽冶。
我們點(diǎn)擊Create Pull Request即可,系統(tǒng)將自動(dòng)跳轉(zhuǎn)到等待回復(fù)的頁面售碳,這里會(huì)顯示作者是否接受我們的代碼更改强重。
SourceTree&Git部分名詞解釋
**克隆(clone):從遠(yuǎn)程倉庫URL加載創(chuàng)建一個(gè)與遠(yuǎn)程倉庫一樣的本地倉庫
提交(commit):將暫存文件上傳到本地倉庫(我們在Finder中對本地倉庫做修改后一般都得先提交一次,再推送)
檢出(checkout):切換不同分支
添加(add):添加文件到暫存區(qū)
移除(remove):移除文件至?xí)捍鎱^(qū)
暫存(git stash):保存工作現(xiàn)場
重置(reset):回到最近添加(add)/提交(commit)狀態(tài)
合并(merge):將多個(gè)同名文件合并為一個(gè)文件贸人,該文件包含多個(gè)同名文件的所有內(nèi)容竿屹,相同內(nèi)容抵消
抓取(fetch):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫
拉取(pull):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫,并且自動(dòng)執(zhí)行合并(merge)操作灸姊,即 pull=fetch+merge
推送(push):將本地倉庫同步至遠(yuǎn)程倉庫拱燃,一般推送(push)前先拉取(pull)一次力惯,確保一致
分支(branch):創(chuàng)建/修改/刪除分枝
標(biāo)簽(tag):給項(xiàng)目增添標(biāo)簽
工作流(Git Flow):團(tuán)隊(duì)工作時(shí)碗誉,每個(gè)人創(chuàng)建屬于自己的分枝(branch),確定無誤后提交到master分枝
終端(terminal):可以輸入git命令行**
3.sourceTree解決問題的方法
方法一:查看沖突父晶,可選擇'暫存區(qū)塊'或者選中某行后‘暫存行塊’哮缺,或者‘放棄區(qū)塊’或者選中某行后‘暫存行塊’
方法二:通過菜單欄->動(dòng)作->解決沖突,一般在沖突較多時(shí)候采取該方法
回滾操作 回滾到上個(gè)版本
4.sourceTree常見報(bào)錯(cuò)
推送前未提交本地的改動(dòng),推送前提交本地改動(dòng)再推送即可
網(wǎng)絡(luò)異常報(bào)警公司網(wǎng)絡(luò)不穩(wěn)定甲喝,就會(huì)時(shí)常發(fā)生這個(gè)報(bào)警尝苇,待網(wǎng)絡(luò)情況好轉(zhuǎn)后再次嘗試即可
推送的遠(yuǎn)程分支倉庫權(quán)限受到只讀保護(hù),發(fā)生此報(bào)警