團(tuán)隊(duì)合作
團(tuán)隊(duì)開(kāi)發(fā)火窒,我們的實(shí)際操作一般為創(chuàng)建分支-開(kāi)發(fā)-測(cè)試-合并-上線(xiàn)。其中包括master,develop。master一般保持和線(xiàn)上代碼同步聪全,不多做改動(dòng)。每次發(fā)布線(xiàn)上版本生成對(duì)應(yīng)的tag版本號(hào)辅辩。delelop分支的代碼存放的開(kāi)發(fā)者經(jīng)過(guò)自己測(cè)試通過(guò)难礼,保證代碼確認(rèn)無(wú)誤經(jīng)過(guò)審批后的代碼。每個(gè)開(kāi)發(fā)者開(kāi)發(fā)時(shí)汽久,首先以這個(gè)分支為主分支創(chuàng)建自己的新分支鹤竭,開(kāi)發(fā)后,自己測(cè)試無(wú)誤后景醇,提交merge request請(qǐng)求給leader查閱審批臀稚, develop合并的權(quán)限只有l(wèi)eader有。下面為簡(jiǎn)單的團(tuán)隊(duì)開(kāi)發(fā)git項(xiàng)目三痰。
開(kāi)發(fā)示例
- 比如工程師A需要對(duì)所在develop分支上的代碼做改動(dòng)吧寺,工程師A就應(yīng)該在現(xiàn)有分支的基礎(chǔ)上創(chuàng)建一個(gè)分支,名字develop-A:
git checkout -b develop-A
- 編寫(xiě)完成后添加需要添加到暫存區(qū)的文件:
git add filename(or .)
- 提交到本地倉(cāng)庫(kù):
git commit -m "commit message"
- 由于是多人同時(shí)對(duì)delelop分支進(jìn)行開(kāi)發(fā)散劫,所以可能會(huì)出現(xiàn)代碼的沖突稚机,這個(gè)時(shí)候需要拉取develop分支最新的代碼。
git pull origin develop
(當(dāng)然最好先f(wàn)etch再merge(rebase),處理沖突建議用編輯器插件获搏,可以清晰的看出兩邊代碼不同之處赖条,當(dāng)然也可以用git diff); - 處理完沖突后,重復(fù)步驟3常熙。
- 如果是第一次創(chuàng)建自己的分支纬乍,這個(gè)時(shí)候develop-A只存在本地環(huán)境,需要推送到遠(yuǎn)程服務(wù)器并把開(kāi)發(fā)的代碼提交到develop-A分支上:
git push origin develop-A
- 工程師A提交到develop-A之后裸卫,需要merge到develop分支仿贬,這個(gè)時(shí)候需要提交leader審批:
-
發(fā)起merge request:
image.png
image.png
image.png
這里只是總結(jié)下之前的用法。墓贿。