日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git学习笔记(四)—— 分支管理

發(fā)布時間:2025/4/16 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git学习笔记(四)—— 分支管理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、創(chuàng)建與合并分支

git branch //查看分支 git branch <name> //創(chuàng)建分支 git checkout <name> //切換分支 git checkout -b <name> //創(chuàng)建切換分支 git merge <name> //合并某分支到當(dāng)前分支 git branck -d <name> //刪除分支

?

二、解決沖突

  就是解決兩個分支之間的不同之處,才能夠合并分支。自動合并分支,是創(chuàng)建一個新的結(jié)點,將指針指向那個新的節(jié)點。

?

三、分支管理

1、不用fast forward模式

  合并分支時,如果可能,Git會用Fast forward模式,但這種模式下,刪除分支后,會丟掉分支信息。 如果要強制禁用Fast forward模式,Git就會在merge時生成一個新的commit,這樣,從分支歷史上就可以看出分支信息。

git merge --no-ff -m "merge with no-ff" dev //“ “中要加入注釋

?

?

2、分支策略

  首先,master分支應(yīng)該是非常穩(wěn)定的,也就是僅用來發(fā)布新版本,平時不能在上面干活。

  干活都在dev分支上,也就是說,dev分支是不穩(wěn)定的,到某個時候,比如1.0版本發(fā)布時,再把dev分支合并到master上,在master分支發(fā)布1.0版本;

  團隊每個人都在dev分支上干活,每個人都有自己的分支,時不時地往dev分支上合并就可以了。

?

四、bug分支

  當(dāng)你接到一個修復(fù)一個代號101的bug的任務(wù)時,很自然地,你想創(chuàng)建一個分支issue-101來修復(fù)它,但是,等等,當(dāng)前正在dev上進行的工作還沒有提交:并不是你不想提交,而是工作只進行到一半,還沒法提交,預(yù)計完成還需1天時間。但是,必須在兩個小時內(nèi)修復(fù)該bug,怎么辦?

  幸好,Git還提供了一個stash功能,可以把當(dāng)前工作現(xiàn)場“儲藏”起來,等以后恢復(fù)現(xiàn)場后繼續(xù)工作:

git stash

?

  現(xiàn)在,用git status查看工作區(qū),就是干凈的(除非有沒有被Git管理的文件),因此可以放心地創(chuàng)建分支來修復(fù)bug。首先確定要在哪個分支上修復(fù)bug,假定需要在master分支上修復(fù),就從master創(chuàng)建臨時分支:

?

git checkout master git checkout -b issue-101//修改bug git add readme.txt git commit -m "fix bug 101"//刪除分支 git checkout master git merge --no-ff -m "merged bug fix 101" issue-101 git branch -d issue-101//回到dev分支 git checkout dev//恢復(fù)工作現(xiàn)場 git stash list //顯示保存的工作現(xiàn)場 git stash apply //恢復(fù)工作現(xiàn)場,不刪除記錄 git stash drop //不恢復(fù)工作現(xiàn)場,刪除記錄 git stash pop //恢復(fù)工作現(xiàn)場,刪除記錄 git stash apply stash@{0} //有多個stash的恢復(fù)方法

?

?

五、多人協(xié)作

1、查看遠程庫信息:

git remote //查看遠程庫信息 git remote -v //顯示更詳細的信息

?

?

2、推送分支

  把該分支上的所有本地提交推送到遠程庫,推送時,要指定本地分支,這樣,Git就會把該分支推送到遠程庫對應(yīng)的遠程分支上

git push origin master git push origin dev

?

?

3、抓取分支

(1)克隆分支

git clone git@github.com:michaelliao/learngit.git

?

(2)默認情況下,只是克隆master分支

(3)你的小伙伴要在dev分支上開發(fā),就必須創(chuàng)建遠程origin的dev分支到本地,于是他用這個命令創(chuàng)建本地dev分支

git checkout -b dev origin/dev

?

(4)現(xiàn)在,他就可以在dev上繼續(xù)修改,然后,時不時地把dev分支push到遠程:

git commit -m "add /usr/bin/env" git push origin dev

?

(5)你的小伙伴已經(jīng)向origin/dev分支推送了他的提交,而碰巧你也對同樣的文件作了修改,并試圖推送

git add hello.py git commit -m "add coding: utf-8" git push origin dev

?

(6)推送失敗,因為你和小伙伴的最新提交產(chǎn)生了沖突,解決方法很簡單。

  先用git pull把最新的提交從origin/dev抓下來,然后,在本地合并,解決沖突,再推送:

git pull//git pull也失敗了,原因是沒有指定本地dev分支與遠程origin/dev分支的鏈接,根據(jù)提示,設(shè)置dev和origin/dev的鏈接: git branch --set-upstream dev origin/dev git pull//這回git pull成功,但是合并有沖突,需要手動解決,解決的方法和分支管理中的解決沖突完全一樣。解決后,提交,再push:
git commit -m "merge & fix hello.py"
git push origin dev

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6472571.html

總結(jié)

以上是生活随笔為你收集整理的git学习笔记(四)—— 分支管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。