系統上線了,但是產品經理又提了新的需求,評估一下工期要兩個月,但是同時系統正在上線執行,時不時還要修改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系統安裝,選擇 ...