Git實(shí)戰(zhàn)(四)| Git分支管理實(shí)操,搞定在線(xiàn)合并和本地合并

      網(wǎng)友投稿 608 2025-04-02

      類(lèi)似于SVN這種集中式版本管理,三年前剛來(lái)上海工作時(shí)候,在華為駐場(chǎng)上班,華為用的就是SVN,印象最深的就是那個(gè)小烏龜?shù)膱D標(biāo);后來(lái)到外面工作,漸漸發(fā)現(xiàn)用Git的非常多,慢慢學(xué)習(xí)了解發(fā)現(xiàn)Git這種分布式的版本管理確實(shí)很好很強(qiáng)大,后面也就重點(diǎn)學(xué)習(xí)Git的分支管理策略了(其實(shí)SVN我現(xiàn)在壓根就不會(huì)了,哈哈。。。)

      centralized workflows

      以Bitbucket的官方文檔的實(shí)例作為簡(jiǎn)單介紹:

      例如Mary現(xiàn)在想要開(kāi)發(fā),在開(kāi)發(fā)前她可以通過(guò)checkout命令建立一個(gè)新的分支:

      Feature Branch Workflow: comit changes

      Before she starts developing a feature, Mary needs an isolated branch to work on. She can request a new branch with the following command

      git checkout -b marys-feature master

      然后Mary可以在這個(gè)本地進(jìn)行相關(guān)的更改:

      git status git add git commit

      接著她可以不斷將本地修改上傳至特性分支的中心倉(cāng)庫(kù)中,直到自己全完修改完成

      git push -u origin marys-feature

      git push

      然后,她在git gui(GitHub或GitLab等)中提交pull請(qǐng)求,請(qǐng)求將marys特性合并到master中,團(tuán)隊(duì)成員將自動(dòng)收到通知。

      Mary的同事Bill收到了pr,Bill覺(jué)得在合并到正式項(xiàng)目中之前還需要做一些修改,于是在pr的回復(fù)中對(duì)Mary進(jìn)行告知,接著Mary繼續(xù)修改開(kāi)發(fā),完成后再次提交pr:

      一旦Bill準(zhǔn)備接受pull request,有人需要將該特征merge到穩(wěn)定的項(xiàng)目中(這可以由Bill或Mary來(lái)完成)

      git checkout master git pull git pull origin marys-feature git push

      在GitHub上進(jìn)行基本的演示(實(shí)際工作中,公司用的還是GitLab較多,后面會(huì)有總結(jié)演示)

      1.1) 先使用git checkout -b命令來(lái)創(chuàng)建一個(gè)新的分支并切換到此分支中去,用git branch命令可查看當(dāng)前所處分支:

      $ git checkout -b gitTestBranch Switched to a new branch 'gitTestBranch' $ git branch * gitTestBranch master

      1.2) 將readme.txt文件最后一行加入如下內(nèi)容并commit

      I am a test engineer. I want to study Git. branch gitTestBranch update

      1.3) push到遠(yuǎn)程倉(cāng)庫(kù)并查看分支,首次push需要用git push -u 或git push --set-upstream 命令設(shè)置上下游的關(guān)聯(lián)關(guān)系:

      在GitHub上查看master分支和gitTestBranch分支的對(duì)比,可見(jiàn)gitTestBranch已成功push:

      master:

      gitTestBranch:

      1.4) 使用git log --graph --all --decorate=short命令可以查看提交的分支走向,如果分支較多的話(huà)就會(huì)出現(xiàn)如下效果:

      1.5)這個(gè)時(shí)候我們可以通過(guò)pr對(duì)分支進(jìn)行merge:

      發(fā)起pr

      沒(méi)有conflict,可以直接merge

      這個(gè)時(shí)候再看master分支,就已經(jīng)被成功合并了

      2.1) 先在readme.txt文件中加入一行branch gitTestBranch update2,然后提交到遠(yuǎn)程分支中:

      I am a test engineer. I want to study Git. branch gitTestBranch update1 branch gitTestBranch update2

      git commit -a -m "gitTestBranch second update" git push

      2.2)通過(guò)fetch將gitTestBranch分支拿下來(lái)到本地,修改本地文件并合并

      修改本地gitTestBranch分支,修改加入“branch gitTestBranch update3”并提交到遠(yuǎn)程分支

      vi readme.txt I am a test engineer. I want to study Git. branch gitTestBranch update1 branch gitTestBranch update2 branch gitTestBranch update3 $ git commit -a -m "third update" $ git push

      2.3)master分支上fetch拿取遠(yuǎn)程gitTestBranch分支,修改沖突,合并提交

      $ git checkout master $ git fetch origin gitTestBranch $ git merge origin/gitTestBranch # fix conflict $ git commit -a -m "fix conflict" $ git push

      2.4)這時(shí)候在GitHub上進(jìn)行查看:

      commit歷史中可見(jiàn)提交記錄:

      檢查master,發(fā)現(xiàn)已經(jīng)被成功合并

      參考鏈接:

      git的基本使用流程

      https://www.atlassian.com/git/tutorials/setting-up-a-repository

      特性分支工作流

      https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow

      gitlab工作流

      https://docs.gitlab.com/ee/workflow/gitlab_flow.html

      多種工作流對(duì)比

      Git實(shí)戰(zhàn)(四)| Git分支管理實(shí)操,搞定在線(xiàn)合并和本地合并

      https://www.atlassian.com/git/tutorials/comparing-workflows

      gitlab私服搭建

      https://docs.gitlab.com/omnibus/docker/

      Git

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:excel表格文字怎樣添加超鏈接(怎么在excel給文字加超鏈接)
      下一篇:wps中沒(méi)有smartart怎么辦(wps里沒(méi)有smartart)
      相關(guān)文章
      亚洲一区AV无码少妇电影| 亚洲成无码人在线观看| 亚洲中文无码亚洲人成影院| 亚洲综合视频在线| 亚洲AV一宅男色影视| 精品亚洲永久免费精品| 亚洲中文字幕无码一区| 亚洲午夜国产精品无码| 精品亚洲一区二区| 亚洲国产一区二区三区青草影视| 亚洲av福利无码无一区二区| 亚洲a在线视频视频| 亚洲一区二区成人| 亚洲电影在线播放| 亚洲人成网网址在线看| 亚洲伊人久久大香线蕉结合| 亚洲精品人成网在线播放影院| 国产精品高清视亚洲精品| 最新亚洲精品国偷自产在线| 亚洲GV天堂无码男同在线观看| 国产精品久久久久久亚洲影视| 国产午夜亚洲精品不卡免下载 | 亚洲日韩区在线电影| 亚洲资源在线观看| 亚洲毛片一级带毛片基地| 国产亚洲精品成人AA片| 亚洲AV无码一区二区三区网址| 亚洲AV第一成肉网| 亚洲国产成人久久综合野外| 亚洲日韩中文字幕在线播放| 亚洲AV无码一区二区三区DV| 久久久久久亚洲Av无码精品专口| 亚洲国产精品乱码在线观看97| 亚洲日日做天天做日日谢| 久久亚洲精品无码gv| 亚洲伊人久久综合影院| 亚洲成色在线综合网站| 亚洲精品午夜在线观看| 亚洲人成色777777精品| 婷婷综合缴情亚洲狠狠尤物| 亚洲综合在线另类色区奇米|