一、創(chuàng)建項(xiàng)目與管理
創(chuàng)建項(xiàng)目和管理項(xiàng)目都是管理賬號(hào)需要做的事情,如果只是合作開(kāi)發(fā)不進(jìn)行管理,只需要瀏覽第二部分的內(nèi)容即可。
1.創(chuàng)建項(xiàng)目
登錄代碼托管網(wǎng)站,點(diǎn)擊添加項(xiàng)目,如下圖所示:

填寫(xiě)相應(yīng)的項(xiàng)目信息,如下圖所示:

完成會(huì)生成項(xiàng)目的url,復(fù)制url后面會(huì)使用到,使用指令時(shí)需要注意每個(gè)項(xiàng)目的都不一樣,如下圖所示:

在本地創(chuàng)建項(xiàng)目文件,并創(chuàng)建項(xiàng)目說(shuō)明文件“README.md”,如下圖所示:

打開(kāi)git執(zhí)行如下命令操作
初始化git bash客戶(hù)端,進(jìn)入創(chuàng)建的項(xiàng)目文件夾執(zhí)行如下命令(也可以想項(xiàng)目文件夾中右鍵打開(kāi),省去cd命令)
git init
把文件添加到緩沖區(qū),并添加注釋信息
git add README.md
git commit -m "first commit"
注:在 Linux 系統(tǒng)中,commit 信息使用單引號(hào) ',Windows 系統(tǒng),commit 信息使用雙引號(hào) "。
推送創(chuàng)建的倉(cāng)庫(kù),其中url是之前復(fù)制的
git remote add origin url
git push -u origin master
執(zhí)行以上命令操作后,項(xiàng)目便創(chuàng)建成功了,如下圖所示:

2.添加協(xié)作者
點(diǎn)擊倉(cāng)庫(kù)設(shè)置,添加協(xié)作者,及協(xié)作者的操作權(quán)限,如下圖所示:

這樣簡(jiǎn)單的git項(xiàng)目就創(chuàng)建完成了。能訪(fǎng)問(wèn)到項(xiàng)目的協(xié)作者便可以開(kāi)始項(xiàng)目的編寫(xiě)了。
3.合并請(qǐng)求管理
當(dāng)有人發(fā)起合并請(qǐng)求時(shí),會(huì)有相應(yīng)的信息提醒,可以查看具體的請(qǐng)求說(shuō)明,如下圖所示:

查看明細(xì)后,如果覺(jué)得沒(méi)問(wèn)題后,點(diǎn)擊合并請(qǐng)求即可完成代碼的合并。如下圖所示:

合并完成后,協(xié)作人員只需要拉取一下主分支的代碼即更新本次更改的內(nèi)容。
二、git倉(cāng)庫(kù)使用
1.派生主分支
登錄協(xié)作者的賬號(hào)即可使用相應(yīng)的項(xiàng)目,如下圖所示:

選擇自己需要的項(xiàng)目并單擊進(jìn)入,此時(shí)便可以看到克隆的url,合作中不建議直接克隆主分支的項(xiàng)目,需要派生自己的分支,如下圖所示:

派生完成后會(huì)發(fā)現(xiàn)項(xiàng)目的路徑與主分支的不同,復(fù)制個(gè)人派生的url,如下圖所示:

2.配置遠(yuǎn)程倉(cāng)庫(kù)
打開(kāi)git bash 使用git clone url命令克隆分支倉(cāng)庫(kù),其中url是個(gè)人派生出來(lái)的url
git clone url
添加遠(yuǎn)程倉(cāng)庫(kù)fork的上游主庫(kù),其中rul是主分支的url
git remote add upstream url
查看倉(cāng)庫(kù)的設(shè)置地址
git remote -v
能看到origin和upstream的地址,則說(shuō)明配置成功,如圖所示:

到此倉(cāng)庫(kù)配置已經(jīng)完成,接下來(lái)便可以進(jìn)行開(kāi)發(fā)了。
2.更新本地倉(cāng)庫(kù)
每次編寫(xiě)代碼時(shí),記得同步遠(yuǎn)程倉(cāng)庫(kù)到本地資源庫(kù),保證本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)的代碼一直性
git pull upstream master
git pull origin master
注意:其中origin是更新個(gè)人分支到本地倉(cāng)庫(kù),upstream是更新主分支到本地資源庫(kù),因?yàn)閭€(gè)人分支的代碼多數(shù)只能自己更改,一般情況下個(gè)人分支的代碼和本地基本一致所以更新origin的頻率會(huì)少一些。主要是主分支由于協(xié)作的人較多,代碼變動(dòng)很大。
3.提交代碼
提交代碼之前記得再次同步主分支的代碼,也就是說(shuō)執(zhí)行以下步驟是記得使用git pull upstream master,這樣能保證在合并時(shí)避免和主分支的代碼產(chǎn)生沖突。
添加所有更新至本地緩存
git add .
查看緩存區(qū)狀態(tài)
git status
提交到說(shuō)明,便于版本管理
git commit -m "提交說(shuō)明"
提交到遠(yuǎn)程個(gè)人倉(cāng)庫(kù)(個(gè)人倉(cāng)庫(kù)名+分支名)
git push origin master
這樣已經(jīng)完成代碼的提交,提交完成后還需要將自己分支的代碼合并到主分支。
4.代碼合并
去遠(yuǎn)程管理倉(cāng)庫(kù)進(jìn)入到個(gè)人分支,點(diǎn)擊創(chuàng)建合并請(qǐng)求,如下圖所示:

選擇需要合并到的分支以及拉去代碼的位置,如下圖所示:

完成后點(diǎn)擊創(chuàng)建合并請(qǐng)求并填寫(xiě)合并請(qǐng)求的說(shuō)明已經(jīng)更改代碼的功能,便于管理員對(duì)代碼進(jìn)行管理。如
下圖所示:

到此個(gè)人開(kāi)發(fā)的流程已經(jīng)完成了,最后只需要理員同意合并請(qǐng)求便可以在主分支看到個(gè)人更改的代碼。
三、git其他指令
1.強(qiáng)制拉取覆蓋
強(qiáng)制拉取個(gè)人分支,并覆蓋本地倉(cāng)庫(kù),主要用于自己刪除本地文件后無(wú)法通過(guò)更新下載已刪除的文件時(shí)使用,當(dāng)然可以回滾至上一版本。
git fetch --all
git reset --hard origin/master
git pull
2.本地指令
git config --list #查看配置信息
git init #初始化倉(cāng)庫(kù)
git add 1.txt #添加文件至緩存
git add . #添加所有文件至緩存
git rm 1.txt #刪除文件
git status #查看倉(cāng)庫(kù)狀態(tài)
git commit –m "test" #提交說(shuō)明
git rm 1.txt #刪除文件
git commit -m “test” #刪除相應(yīng)的提交
git diff a.txt #查看a.txt文件更改的內(nèi)容
git log #查看提交記錄
git reset --hard HEAD^ #回滾上一個(gè)版本
git reset --hard HEAD~n #回滾n個(gè)版本
git xxx --help #查看指令幫助
3.本地倉(cāng)庫(kù)上傳至遠(yuǎn)程倉(cāng)庫(kù)
git pull origin master #拉取遠(yuǎn)程主分支
git pull --rebase origin master #拉取本地分支
git push -u origin master #提交代碼至個(gè)人分支
git push -u -f origin master #強(qiáng)制上傳代碼至個(gè)人分支
4.遠(yuǎn)程倉(cāng)庫(kù)指令
git clone url #克隆倉(cāng)庫(kù)
git remote add #添加/關(guān)聯(lián)一個(gè)遠(yuǎn)程倉(cāng)庫(kù),默認(rèn)名是origin
git remote remove origin #刪除遠(yuǎn)程庫(kù)的 origin 別名
git remote add upstream url #添加一個(gè)將被同步給fork遠(yuǎn)程的上游倉(cāng)庫(kù)
git fetch upstream #從上游倉(cāng)庫(kù)fetch分支和提交點(diǎn),傳送到本地,并會(huì)被存儲(chǔ)在一個(gè)本地分支 upstream/master
git remote #查看遠(yuǎn)程庫(kù)的別名
git remote –v #查看遠(yuǎn)程庫(kù)的別名和倉(cāng)庫(kù)地址
git push origin master #把本地 master 分支推送到別名為 origin 的遠(yuǎn)程庫(kù)
git branch #查看當(dāng)前所有的分支,默認(rèn)只有master 分支
git branch test #創(chuàng)建 test 分支
git branch –d test #刪除 test 分支
git checkout test #從當(dāng)前分支切換到 test 分支
git checkout –b dev #創(chuàng)建 dev 分支,并切換到 dev 分支上
git merge dev #在當(dāng)前分支上合并 dev 分支
git merge upstream/master #把 upstream/master 分支合并到本地 master 上
git merge upstream/dev #把 upstream/dev 分支合并到本地 dev 上
作者:Java架構(gòu)大仙
鏈接:http://www.itdecent.cn/p/e34bc4eedc22
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。