黑猴子的家 Git 實戰操練 之 分支

2021-08-30 08:43:10 字數 3371 閱讀 3792

系統上線了,但是產品經理又提了新的需求,評估一下工期要兩個月,但是同時系統正在上線執行,時不時還要修改bug,如何管理幾個版本?

1、建立分支

//建立分支,git  branch  《分支名》  

$ git branch feature_abc

//檢視所有分支

2、切換分支

//切換分支,git checkout  《分支名》

$ git checkout feature_abc

//建立並切換分支,git checkout –b 《分支名》

3、合併分支

思想:要想合併分支,要在主支上操作,第一步切換回主分支,第二步合併分支,a合併b,就在a分支上操作,ok ?

簡單說就是

主幹合併分支,在主幹上執行 git merge 命令

分支合併主幹,在分支上執行 git merge 命令

//切換回主分支

$ git checkout master

//合併 feature_abc 分支

4、衝突

衝突一般指同乙個檔案同一位置的**,在兩種版本合併時版本管理軟體無法判斷到底應該保留哪個版本,因此會提示該檔案發生衝突,需要程式設計師來手工判斷解決衝突。

5、合併時衝突

程式合併時發生衝突,系統會提示conflict關鍵字,命令列字尾會進入merging狀態,表示此時是解決衝突的狀態。

6、解決衝突

此時通過git diff 可以找到發生衝突的檔案及衝突的內容。

然後修改衝突檔案的內容,再次git add 和git commit 提交後,字尾merging消失,說明衝突解決完成。

7、解決衝突三板斧

(1)修改 merge 後,產生衝突的檔案,可以先通過git diff命令檢視 衝突內容

(2)重新對修改後的檔案,新增到暫存區git add

(3)提交到本地庫git commit -m "提交操作描述"

8、分支命令彙總

//建立分支

$ git branch mybranch

//切換分支

$ git checkout mybranch

//建立並切換分支

$ git checkout -b mybranch

//更新master主線上的東西到該分支上

$ git rebase master

//切換到master分支

$ git checkout master

//更新mybranch分支上的東西到master上

$ git rebase mybranch

//提交

$ git commit -a

//對最近一次commit的進行修改

$ git commit -a –amend

//commit之後,如果想撤銷最近一次提交(即退回到上一次版本)並本地保留**

$ git reset head^

//切換分支

$ git checkout master

//(merge from mybranch)

$ git merge mybranch

//刪除分支

$ git branch -d mybranch

//強制刪除分支

$ git branch -d mybranch

//列出所有分支

$ git branch

//檢視各個分支最後一次提交

$ git branch -v

//檢視哪些分支合併入當前分支

$ git branch --merged

//檢視哪些分支未合併入當前分支

$ git branch --no-merged

//更新遠端庫到本地

$ git fetch origin

//推送分支

$ git push origin mybranch

//取遠端分支合併到本地

$ git merge origin/mybranch

//取遠端分支並分化乙個新分支

$ git checkout -b mybranch origin/mybranch

//刪除遠端分支

$ git push origin :mybranch

//rebase

$ git checkout mybranch

$ git rebase master (rebase from master)

//舉例

$ git checkout server

$ git rebase –onto master server client

$ git checkout master

$ git merge client (fostforward)

$ git rebase master server (checkout sever)

$ git merge server

$ git branch -d client

$ git branch -d server

Git的實戰操練 分支branch

系統上線了,但是產品經理又提了新的需求,評估一下工期要兩個月,但是同時系統正在上線執行,時不時還要修改bug,如何管理幾個版本?建立分支 git branch 分支 檢視分支 git branch v 切換分支 git checkout 分支 一步完成 git checkout b 分支 合併分支 ...

黑猴子的家 mysql 流程控制之分支結構

1 if函式 語法 select if 10 3,哈哈 嘎嘎 應用在 begin end 的裡面和外面都行 2 case end 案例 create procedure case pro1 in score float begin case when score 90 then select a w...

黑猴子的家 Git 安裝

2 開始安裝 git 選擇git命令的執行環境,這裡推薦選擇第乙個,就是單獨使用者git自己的命令列視窗。不推薦和windows的命令列視窗混用。在 configuring the line ending conversions 選項中 第乙個選項 如果是跨平台專案,在windows系統安裝,選擇 ...